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

Clicking drop down with Selenium WebDriver does not activate Javascript to add or remove items from the page.

本文关键字:删除 添加 项目 Javascript 单击 WebDriver Selenium 下拉菜单 激活 使用      更新时间:2024-06-01

当我单击下拉列表中的项目时,它不会激活给定页面上的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>

以下是实际完成工作的Javascript

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;
}); 

您的问题不是很清楚,但您可以用action类定义一个"鼠标操作",该操作将物理移动指针并单击。我敢打赌,在使用JavascriptExecutor不起作用的地方,它会起作用。

实际上,我看不出你怎么会在这里出错,因为你似乎看到了整个选项元素的内容,这意味着WebDriver应该可以毫无问题地获得2个选项元素中的一个,并以标准方式单击它。

从传统下拉列表中选择选项的一种独立于浏览器的方法是单击该选项,而不是先单击select。这违反了硒的标准,但它在中有效

C#代码(选择文件1):

IWebElement theOption = _webDriver.FindElement(By.XPath("//select[@id='DocumentComment_document_id']/option[@value='1']"));
theOption.Click();