Python Selenium:单击 href="javascript:()"

kel*_*in 2 javascript python selenium

我正在使用 chromedriver 并且我有以下网页源:

<form id="stepLinksForm" name="stepLinksForm" method="POST" target="mainFrame"> 

  <ul> 
      <li> <a href="javascript:submitLink('action_one.htm')">Action One</a> </li>
      <li> <a href="javascript:submitLink('action_two.htm')">Action Two</a> </li>
      <li> <a href="javascript:submitLink('action_three.htm')">Action Three</a> </li>
  </ul>   

</form>
Run Code Online (Sandbox Code Playgroud)

单击任何一个 href 后,浏览器会转到一个新页面,但 url 保持不变。我想要实现的是点击第一个href,即 <li> <a href="javascript:submitLink('action_one.htm')">Action One</a> </li>

我已经尝试过 find_element_by_xpath、link_text 和 Internet 上建议的其他一些方法,但它们都不起作用。如果有人可以提供帮助,我真的很感激。

Tri*_*Nhu 5

您可以直接调用 javascript 代码,而不是单击:

browser.execute_script("submitLink('action_one.htm')")
Run Code Online (Sandbox Code Playgroud)

相当于 javascript:submitLink('action_one.htm')

或者您可以通过其文本找到 a:

browser.find_elements_by_xpath("//a[contains(text(), 'Action One')]")
Run Code Online (Sandbox Code Playgroud)