>我在一个网页中有一个"onclick"元素,其HTML如下:
<a href="#" onclick="fastener('3625')">Fastener</a>
我想使用字符串"fastener"或"Fastener"使用Python + Selenium搜索此元素。数字"3625"将根据以前的输入而变化,因此无法搜索。
我尝试了以下内容,但徒劳无功:
br.find_element_by_css_selector("a[@onlick*='fastener']").click()
请提出执行此操作的方法。谢谢!
PS:我使用的是Python 2.7,Chrome WebDriver和Chrome v62。
要搜索带有文本作为紧固件的元素,您可以使用以下任一选项:
-
通过紧固件 :
br.find_element_by_link_text("Fastener").click()
-
使用通过紧固件 (xpath( 进行点击:
br.find_element_by_xpath("//a[contains(@onclick,'fastener')]").click()
-
使用通过紧固件 (css_selector( 进行点击:
br.find_element_by_css_selector("a[onclick^='fastener']").click()
使用以下代码:
br.find_element_by_link_text("Fastener").click()
希望对您有所帮助!
使用水豚:
page.click_link("Fastener")
Capybara 旨在提供这种和许多其他类似的辅助方法,例如可能需要从最终用户的角度编写验收测试:
page.fill_in("Street", value="123 Main St")
page.select("United States", field="Country")
page.choose("Expedited shipping")
page.click_button("Place order")
使用包含搜索元素
//a[contains (@onclick='fastener')]
或
//a[contains(text(),"Fastener")]