如何通过 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']
我正在使用 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']