【问题标题】:Unable to click on checkboxes using Robot Framework and selenium2library无法使用 Robot Framework 和 selenium2library 单击复选框
【发布时间】:2017-11-14 03:15:56
【问题描述】:

我故意使用了 3 种不同的等待来定位页面上的元素(复选框),如下所示,它们通过了。之后,我点击同样通过的元素。

现在我的问题是,如果 click element 方法通过了,那么为什么 Checkbox 应该被选中 会失败,因为在 click element 方法中我只点击了那个复选框!

HTML 屏幕截图。

我使用各种策略多次尝试单击复选框,但每次都失败。请帮助并提出一些解决方案!

我写的代码:

`  sleep  2
  wait until page contains element  id_service_levels_0
  wait until element is enabled  id=id_service_levels_0
  wait until element is enabled  id=id_service_levels_0
  page should contain element  id=id_service_levels_0


  click element  id=id_service_levels_0
  checkbox should be selected  id=id_service_levels_0

`

【问题讨论】:

  • 您是否尝试过Select Checkbox id=id_service_levels_0${element} Get Webelement id=id_service_levels_0 然后Click Element ${element}

标签: selenium xpath selenium-webdriver robotframework selenium2library


【解决方案1】:

您可以尝试使用下面给出的 JavaScript 执行器。

JavascriptExecutor js = (JavascriptExecutor) driver; js.executeScript("document.getElementById('id_service_levels_0').click()");

【讨论】:

  • 你能告诉我怎么写吗,因为按照你说的写命令会出错(dropbox.com/s/dulbrjqdncvpf0v/…)。并使用命令Execute Javascript document.getElementsById('id_service_levels_0').click() 给出错误WebDriverException: Message: unknown error: document.getElementsById is not a function
  • 我已经更新了答案。请再试一次并告诉我。它不是 getElementsById 而是 getElementById.--singular
  • 解决了,谢谢,不过我怎么知道什么时候使用Javascript或什么时候使用其他功能?
  • 一些网页,主要是复选框元素。你不能直接与他们互动。然后你尝试使用 JavaScript 其他元素,你可以使用 JavaScript。
猜你喜欢
  • 2017-11-12
  • 2015-12-06
  • 2016-06-22
  • 2017-11-04
  • 2015-08-12
  • 1970-01-01
  • 2016-09-05
  • 2017-04-05
  • 2017-04-15
相关资源
最近更新 更多