css - 无法点击隐藏的复选框(Selenium-Webdriver)

标签 css ruby selenium

我有一个我自己无法解决的问题。

有一个带有复选框的网页。见附件 scr1.png。 复选框是某种装饰(我不知道这是什么技术)。我无法点击它,Webdriver 也看不到它。真正的复选框被隐藏。它隐藏在 CSS 文件中(见 scr1.png 的右上角)

现在,当我在 FireBug 中手动将其从 visibility: none 更改为 visibility: yes 时,页面上会显示真实的复选框(参见屏幕截图 2)。

问题

Screen 1 Screen 2

我正在尝试像这样单击此复选框:

@driver.find_element(:id,"MainContent_chkAuthorize").click

但后来我得到了 Selenium::WebDriver::Error::ElementNotVisibleError: 因为元素是隐藏的,Webdriver 找不到。

  1. 有什么办法可以解决这个问题吗?
  2. 如何使用 Webdriver 更改可见性?
  3. 如何才能最终点击这个元素?

最佳答案

要使复选框可见,您应该更改其 display属性(property)。

input.styled{
  display:block;  // Or you can remove this
} 

关于css - 无法点击隐藏的复选框(Selenium-Webdriver),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22208572/

相关文章:

html - 为什么 li 元素与 `block` 显示重叠?

javascript - jQuery .not() 函数不起作用

ruby-on-rails - 为什么我的 rspec-rails 生成的规范由于路由异常而失败?

c - Ruby进程与C进程如何通信?

java - Selenium 测试后的数据库清理

css - 如何使顶层的 (div) 背景为 "holey"以便我可以操纵底层的 (div) 内容?

jquery - jQuery 和不同浏览器的问题

ruby - 从链接中获取基本 url

java - 无法从 scoped_dir6312_32763/internal 加载扩展。管理员使用 ChromeDriver Selenium 禁用加载解压的扩展

java - 使用页面工厂设计模式在页面对象中第二次调用 web 元素会出现陈旧元素异常