Ruby Selenium Webdriver 元素不可点击

标签 ruby selenium selenium-webdriver

我遇到了一个错误

Element is not clickable at point (100,12). Other Element would receive this click

我对这个问题做了一些研究,这里是我尝试过的解决方案

  1. 最大化窗口

    driver.manage.window.maximize
    
  2. 滚动到 View

    driver.execute_script("arguments[0].scrollIntoView(true);", element)
    sleep(3)
    

这些似乎都不起作用。

这是 HTML 的布局

 <body>
   <div>
     <div>
       <div>
         <ul>
           <li> <a> Click me </a>
   ...

我获取元素的方式是

 element = driver.find_element(:xpath, "//li/a[contains(text(), 'Click me')]"

有人知道我做错了什么吗?我还能做些什么?

最佳答案

在这种情况下,您应该尝试使用 .execute_script 执行 click,如下所示:-

element = driver.find_element(:xpath, "//li/a[contains(text(), 'Click me')]")
driver.execute_script("arguments[0].click();", element)

希望对您有所帮助...:)

关于Ruby Selenium Webdriver 元素不可点击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38213659/

相关文章:

ruby - 如何将 Rack 中间件注入(inject)现有的 Rack 应用程序?

java - 如何在操作系统 Marshmallow 及以上版本的 Appium android 测试中处理应用程序权限弹出窗口(系统弹出窗口,如设备位置/联系人列表)?

linux - "Syntax error: Unterminated quoted string"和 "org.apache.commons.exec.ExecuteException: Process exited with an error: 2 (Exit value: 2)"

python - Selenium 网络驱动程序 : How do I find ALL of an element's attributes?

google-chrome - ChromeDriver/Chrome 填充系统临时文件夹

ruby - 在模块中使用实例变量是一种不好的做法吗?

ruby-on-rails - 我如何邀请用户(使用 devise_invitable)并在邀请过程中填充其他字段?

ruby - iTerm2 中的 YADR 和 RVM 问题

selenium - 机器人框架/ Selenium : How to set screenshot-name to testcase-name on failure

java - 即使有 jar 文件也无法将 Java 连接到 MySQL 数据库