Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/475.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
使用Selenium WebDriver单击下拉菜单不会激活Javascript来添加或删除页面中的项目。_Javascript_Jquery_Ruby_Selenium_Selenium Webdriver - Fatal编程技术网

使用Selenium WebDriver单击下拉菜单不会激活Javascript来添加或删除页面中的项目。

使用Selenium WebDriver单击下拉菜单不会激活Javascript来添加或删除页面中的项目。,javascript,jquery,ruby,selenium,selenium-webdriver,Javascript,Jquery,Ruby,Selenium,Selenium Webdriver,当我单击下拉列表中的某个项目时,它不会激活给定页面上的javascript 这是我正在与之交互的元素 <select id="DocumentComment_document_id" name="DocumentComment[document_id]"> <option value=""></option> <option value="1">Document 1</option> <option value="2">Do

当我单击下拉列表中的某个项目时,它不会激活给定页面上的javascript

这是我正在与之交互的元素

<select id="DocumentComment_document_id" name="DocumentComment[document_id]">
<option value=""></option>
<option value="1">Document 1</option>
<option value="2">Document 2</option>
</select>

您的问题不是很清楚,但是您可以使用action类定义一个“鼠标操作”,它将实际移动点指针并单击。我敢打赌,在使用JavascriptExecutor不起作用的情况下,这会起作用


真的,我看不出你会在这里出错,因为你似乎看到了整个选项元素的内容,这意味着WebDriver在获取两个选项元素中的一个并以标准方式单击它应该没有问题。

从传统下拉列表中选择选项的独立于浏览器的方法就是单击该选项,不单击“先选择”按钮。这违反了硒的标准,但它是有效的

C代码(选择文档1):

jQuery(function($) {
$("#DocumentComment_document_id").live("change", function(){
$.post(
"/wg/wg2/documentComment/ajaxLoadDelineators",
{"docID": $(this).val(),"ajax":true},
function(data){
$("#delineator_options").html(data);
}
);
return false;
}); 
IWebElement theOption = _webDriver.FindElement(By.XPath("//select[@id='DocumentComment_document_id']/option[@value='1']"));
theOption.Click();