Когда я нажимаю элемент в раскрывающемся списке, он не активирует 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;
});
Независимый от браузера способ выбора опции из традиционного раскрывающегося списка - это просто щелкнуть эту опцию, не щелкнув сначала выбор. Это противоречит норме для Selenium, но она работает
С# (для выбора документа 1):
IWebElement theOption = _webDriver.FindElement(By.XPath("//select[@id='DocumentComment_document_id']/option[@value='1']"));
theOption.Click();
Ваш вопрос не очень ясен, но вы можете определить "действие мыши" с классом Action, который физически переместит указатель точки и щелкнет. Я бы поспорил, что будет работать там, где он не работал с помощью JavascriptExecutor.
На самом деле, я не вижу, как вы можете ошибиться здесь, потому что вы, кажется, видите все содержимое элемента опции, что означает, что у WebDriver не должно возникнуть проблемы с получением одного из двух элементов-элементов и его стандартного нажатия.