【问题标题】:Unable to click on hidden checkbox (Selenium-Webdriver)无法点击隐藏的复选框(Selenium-Webdriver)
【发布时间】:2014-04-08 03:35:25
【问题描述】:

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

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

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

问题

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

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

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

  1. 有没有办法解决这个问题?
  2. 如何使用 Webdriver 更改可见性?
  3. 最后如何点击这个元素?

【问题讨论】:

  • webdriver 不喜欢与不可见的元素交互
  • 你能手动点击复选框吗?
  • 我正在尝试编写自动化脚本。手动点击没问题
  • 这很明显它没有与隐藏元素交互,但是我试图弄清楚如何克服这个问题?也许有办法让这个复选框可见
  • 如果你想强行点击隐藏的元素,那么你可以尝试使用Javascript Execution

标签: css ruby selenium


【解决方案1】:

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

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

【讨论】:

  • 听起来不错,但如何使用 Selenium-Webdriver + Ruby 实现自动化?
猜你喜欢
  • 2012-08-15
  • 2012-09-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-11-10
  • 1970-01-01
  • 2023-03-02
  • 2018-04-24
相关资源
最近更新 更多