我正在开发一个Python / Selenium程序,该程序会制作一个我访问过的URL文件,然后在执行Google搜索时在浏览器中突出显示它们,这样我就不会浪费时间再次访问这些网站。
#searched Google for: "county fair" site:etypeservices.com
element = driver.find_element_by_partial_link_text("etypeservices.com")
driver.execute_script("arguments[0].style.backgroundColor = 'yellow'", element)
到目前为止,太好了。但是,如果我尝试使用相同的方法选择完整的网页...
element = driver.find_element_by_link_text("http://archives.etypeservices.com/Wauneta1/Magazine132532/Publication/Magazine132532.pdf")
我收到以下错误:
selenium.common.exceptions.NoSuchElementException: Message: Unable to locate element
有任何想法为什么会这样?
答案 0 :(得分:0)
根据find_element_by_partial_link_text
函数文档:
通过部分匹配其链接文本来查找元素。
Args :
link_text:要部分匹配的元素的文本。
鉴于您具有以下链接定义:
<a href="http://example.com">Example Domain</a>
您可以将其匹配为:
driver.find_element_by_partial_link_text("Example")
或
driver.find_element_by_partial_link_text("Domain")
如果要通过部分URL定位元素,则需要使用href
attribute,可以使用XPath Selector和XPath contains()函数,例如:
driver.find_element_by_xpath("//a[contains(@href,'http://example.com')]")