Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/395.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
如何使用javascript执行器处理下拉列表_Java_Javascript_Selenium_Selenium Webdriver_Webdriver - Fatal编程技术网

如何使用javascript执行器处理下拉列表

如何使用javascript执行器处理下拉列表,java,javascript,selenium,selenium-webdriver,webdriver,Java,Javascript,Selenium,Selenium Webdriver,Webdriver,如何使用SeleniumWebDriver中的javascript executor在下拉列表中选择不同的值 我已尝试document.getElementById获取下拉框。下面是代码片段: ((JavascriptExecutor) driver).executeScript("return document.getElementByID('id');"); 我在执行此代码时出错 尝试通过javascript执行器实现这一点是个坏主意。使用selenium.support lib将更容易

如何使用SeleniumWebDriver中的javascript executor在下拉列表中选择不同的值


我已尝试document.getElementById获取下拉框。下面是代码片段:

((JavascriptExecutor) driver).executeScript("return document.getElementByID('id');"); 

我在执行此代码时出错

尝试通过javascript执行器实现这一点是个坏主意。使用selenium.support lib将更容易。详情如下:


您将能够按id查找,分配给此库中的select元素,并选择value/index/text所需的选项。

这可以通过使用javascript executor和代码片段来完成:

((JavascriptExecutor) driver).executeScript("return document.getElementById('id').selectedIndex = '" + index + "';)

我已尝试document.getElementById获取下拉框。下面是代码片段:JavascriptExecutor driver.executeScriptreturn document.getElementByID'id';;我在执行此代码时遇到错误。请在问题中添加这些详细信息,而不是在注释中添加。感谢Andrew,我们已经使用webdriver完成了,但是在一个页面上,firefox浏览器的webdriver无法处理任何内容页面是新窗口打开的,单击父窗口上的任何链接,也可以在此页面上使用javascriptExecuter完成其他操作。因此,我还找到了使用javascriptExecuter/javascript处理下拉列表的方法。这可以通过使用代码为JavascriptExecutor driver.executeScriptreturn document.getElementById'id'。selectedIndex='+index+'的javascript来完成;