Mar*_*ark 7 python selenium click dom-events selenium-webdriver
这是我试图点击的链接:
<a href="#" onclick="OpenAddKeywords();return false;" id="btnAddKeywords">Add Keywords</a>
Run Code Online (Sandbox Code Playgroud)
我尝试了一些选项(如下所列),但它们没有用; 有任何想法吗?
self.br.find_element_by_xpath("//*[@id='btnAddKeywords']").click()self.br.execute_script("OpenAddKeywords();return false;")这是我得到的错误execute_script:
<a href="#" onclick="OpenAddKeywords();return false;" id="btnAddKeywords">Add Keywords</a>
Run Code Online (Sandbox Code Playgroud)
这是我得到的那个xpath:
<a href="#" onclick="OpenAddKeywords();return false;" id="btnAddKeywords">Add Keywords</a>
Run Code Online (Sandbox Code Playgroud)
正如我在这里提到的那样,问题将通过ActionChains阶级来解决; 这里有一个简短的代码:
el = driver.find_element_by_id("someid")
webdriver.ActionChains(driver).move_to_element(el).click(el).perform()
Run Code Online (Sandbox Code Playgroud)
主要问题是,在某些情况下,特别是当你的页面中有一些javascript代码时,DOM会发生变化,你之前找到的元素会被破坏.'ActionChains'将保持活着以执行操作.
您可以尝试使用 xpath,如下所示。它对我有用,因为我使用了上一个项目。
driver.find_element_by_xpath("xpath").click()
Run Code Online (Sandbox Code Playgroud)
请尝试一下...
| 归档时间: |
|
| 查看次数: |
10797 次 |
| 最近记录: |