如何通过 class name 找到 href 并用 selenium 点击

How to find href through class name and click with selenium

我正在使用 Selenium 和 python 制作蜘蛛。

部分网页是这样的:

<a href="http://www.example.html" target="_blank" class="_j_search_link">text - <span class="sr-keyword">name</span> text</a>

我需要找到 href 并点击。

我试过如下:

target = driver.find_element_by_class_name('_j_search_link')
target.click()

目标不是None,但似乎无法点击,因为在target.click()之后,什么也没有发生。

另外,我读过这个问题:Click on hyperlink using Selenium Webdriver
但这对我没有帮助,因为在我的情况下,有一个 <span class>,而不仅仅是一个简单的文本 Google.

您可以查找具有 class _j_search_link 且包含文本 Wat Chedi Luang

的元素
driver.find_element_by_xpath('//a[@class="_j_search_link" and contains(., "Wat Chedi Luang")]')
driver.find_elements_by_partial_link_text("Wat Chedi Luang").click()

我认为您没有找到合适的元素。使用 CSS 或 Xpath 定位此元素然后单击它,例如:

//a[@class='_j_search_link']

//a[@class='_j_search_link']/span[@class='sr-keyword']