Selenium Python:如何根据“onclick”文本单击 <a> 标签

Stu*_*Cat 1 python selenium

所以这个页面有几个

<a href="#" onclick="showpage('potato.php');">...
<a href="#" onclick="showpage('carrots.php');">...
<a href="#" onclick="showpage('chicken.php');">...
<a href="#" onclick="showpage('fish.php');">...
Run Code Online (Sandbox Code Playgroud)

这些标签。虽然我可以做一个 find_elements_by_xpath 然后选择我想要的那个,有没有办法具体说,我想点击土豆链接?

Ric*_*ard 5

您可以使用find_element_by_partial_link_text

driver.find_element_by_partial_link_text("potato").click()
Run Code Online (Sandbox Code Playgroud)

更多文档可通过策略查找:http : //selenium-python.readthedocs.org/en/latest/locating-elements.html

编辑:谈论误读问题。我以为你想点击带有“土豆”字样的链接。

如果您专门尝试查找 的内容onclick,则可以使用以下内容:

driver.find_element_by_xpath("//a[contains(@onclick, 'potato.php')]").click()
Run Code Online (Sandbox Code Playgroud)