Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法使用Robot Framework和Selenium2库单击复选框_Selenium_Xpath_Selenium Webdriver_Robotframework_Selenium2library - Fatal编程技术网

无法使用Robot Framework和Selenium2库单击复选框

无法使用Robot Framework和Selenium2库单击复选框,selenium,xpath,selenium-webdriver,robotframework,selenium2library,Selenium,Xpath,Selenium Webdriver,Robotframework,Selenium2library,我特意使用了3种不同的等待来定位页面上的元素(一个复选框),如下所示,它们被传递。在那之后,我点击同样被传递的元素 现在我的问题是,如果单击元素方法通过,那么为什么应选中复选框失败,因为在单击元素方法中,我只单击了该复选框 HTML屏幕截图。 我使用各种策略多次尝试点击复选框,但每次都失败了。请帮助并提出一些解决方案 我写的代码: ` sleep 2 wait until page contains element id_service_levels_0 wait until

我特意使用了3种不同的等待来定位页面上的元素(一个复选框),如下所示,它们被传递。在那之后,我点击同样被传递的元素

现在我的问题是,如果单击元素方法通过,那么为什么应选中复选框失败,因为在单击元素方法中,我只单击了该复选框

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

`

您可以尝试使用JavaScript executor,如下所示

JavascriptExecutor js=(JavascriptExecutor)驱动程序;

js.executeScript(“document.getElementById('id\u service\u levels\u 0')。click()”

您能告诉我如何准确地编写它吗,因为按照您所说的方式编写命令会产生错误()。并使用命令
执行Javascript文档。getElementsById('id\u service\u levels\u 0')。单击()
会给出错误
WebDriverException:消息:未知错误:document.getElementsById不是函数
我已更新了答案。请再试一次,让我知道。这不是getElementsById,而是getElementById。--谢谢,不过我怎么知道何时使用Javascript或何时使用其他函数呢?一些网页,主要是复选框元素。你不能直接与他们互动。然后,您可以尝试使用JavaScript和其他可以不使用JavaScript的元素。您是否尝试过
选择复选框id=id\u service\u levels\u 0
或者
${element}获取Webelement id=id\u service\u levels\u 0
,然后
单击元素${element}