Selenium Python:如何点击<a> tag based on &#34;onclick&#34; text</a>

时间:2015-02-05 17:59:21

标签: 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');">...

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

2 个答案:

答案 0 :(得分:3)

您可以使用find_element_by_partial_link_text

driver.find_element_by_partial_link_text("potato").click()

此处提供了更多关于按策略查找的文档:http://selenium-python.readthedocs.org/en/latest/locating-elements.html

编辑:谈论误读问题。我以为你要点击链接上的文字&#34;马铃薯&#34;。

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

driver.find_element_by_xpath("//a[contains(@onclick, 'potato.php')]").click()

答案 1 :(得分:1)

理查德的解决方案应该有效。你也可以使用像

这样的xpath
//a/*[contains(text(),'Potato')]