繁体   English   中英

Python + Selenium:如何单击“ onclick”元素?

[英]Python + Selenium: How can click on “onclick” elements?

我的网页中有一个“ onclick”元素,其HTML内容如下:

<a href="#" onclick="fastener('3625')">Fastener</a>

我想使用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()

希望对您有帮助!

使用capybara-py

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")

要将文本作为紧固件搜索元素,可以使用以下任一选项:

  • 通过紧固件

     br.find_element_by_link_text("Fastener").click() 
  • 使用onclick through 紧固件 (xpath):

     br.find_element_by_xpath("//a[contains(@onclick,'fastener')]").click() 
  • 使用onclick穿过紧固件 (css_selector):

     br.find_element_by_css_selector("a[onclick^='fastener']").click() 

使用包含来搜索元素

//a[contains (@onclick='fastener')]

要么

   //a[contains(text(),"Fastener")]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM