【发布时间】:2020-05-30 05:44:01
【问题描述】:
我正在抓取网页:www.ogimet.com,我想点击一个 href 按钮。
这是html代码:
<a href="/sondc.phtml"><b>S</b>ondeos por territorios</a>
如何点击这个按钮?如果可以避免driver.find_element_by_xpath()
【问题讨论】:
标签: python selenium web-crawler
我正在抓取网页:www.ogimet.com,我想点击一个 href 按钮。
这是html代码:
<a href="/sondc.phtml"><b>S</b>ondeos por territorios</a>
如何点击这个按钮?如果可以避免driver.find_element_by_xpath()
【问题讨论】:
标签: python selenium web-crawler
你提供的链接确实有一个链接文本可以用来选择它,你只需要去掉粗体标签,所以Sondeos por territorios而不是<b>S</b>ondeos por territorios。
使用driver.find_element_by_link_text:
link = driver.find_element_by_link_text('Sondeos por territorios')
【讨论】:
我会这样做,我创建了一个可重用的函数,它通过标签和匹配的属性返回第一个元素。
def getElementByTagAndAttributes(driver, tag, **kwargs):
for element in driver.find_elements_by_tag_name(tag):
for key, value in kwargs.items():
attribute = element.get_attribute(key)
if attribute != value:
break
else:
return element
getElementByTagAndAttributes(driver, "a", href="/sondc.phtml").click()
【讨论】: