Python + Selenium:如何点击"onclick"元素?



>我在一个网页中有一个"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")]

最新更新