【发布时间】:2014-08-28 13:21:12
【问题描述】:
我有一个网页,其中有一个级联下拉菜单。(见截图:)
第二个数据看起来像是通过 ajax 生成的,具体取决于第一个数据的选择。 这是第一个选择的代码:
<select class="form-control input-sm" name="aff_network_id" id="aff_network_id" onchange="load_aff_campaign_id($(this).val(), 0); load_landing_page(this.value); load_text_ad_id(this.value);">
<option value="0"> -- </option>
<option value="1">Sales</option>
</select>
对于第二个选择,这里是代码:
<select class="form-control input-sm" name="aff_campaign_id" id="aff_campaign_id" onchange="load_text_ad_id(this.value); if($('#landing_page_style_type')){load_landing_page( $('#aff_campaign_id option:selected').val(), 0, $('input:radio[name=landing_page_type]:checked').val()?$('input:radio[name=landing_page_type]:checked').val():'landingpage');} if($('#unsecure_pixel').length != 0) { change_pixel_data();}">
<option value="0"> -- </option>
<option value="1">iPhone on Amazon · $100.00</option>
</select>
现在使用网络驱动程序,当我这样做时:
WebDriver driver=new FirefoxDriver();
JavascriptExecutor js=null;
if (driver instanceof JavascriptExecutor) {
js = (JavascriptExecutor)driver;
}
js.executeScript("document.getElementById('aff_campaign_id').value='1';" +
"return document.getElementById('aff_campaign_id').value;")
这不会改变第二个级联选择的值。它总是返回“--”,即默认值。这里可以做些什么来改变select的值?
【问题讨论】:
-
您是否尝试过使用
Select()类来设置第一个<select>元素的值?
标签: java javascript selenium selenium-webdriver html-select