无法在selenium web驱动程序中使用Javascript设置选择值

无法在selenium web驱动程序中使用Javascript设置选择值,java,javascript,selenium,selenium-webdriver,html-select,Java,Javascript,Selenium,Selenium Webdriver,Html Select,我有一个网页,其中有一个层叠的下拉列表 第二个的数据看起来像是通过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(th

我有一个网页,其中有一个层叠的下拉列表

第二个的数据看起来像是通过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的值?

如果我正确地理解了这个问题,为什么不使用webdriver在第一个下拉列表中选择值,然后(在第二次更改值之后)在第二个组合框中获取值?!e、 g.smth类

//First click on first comboBox
var dropDown = driver.findElement(By.Css("#aff_network_id"));
dropDown.click();
//Select value from first dropDown
dropDown.findElement(By.Css("option[value='1']")).click();

//after that value in second dropDown will be changed and you can get it's value
driver.findElement(By.Css("#aff_campaign_id")).getAttribute('value');

若我正确地理解了这个问题,为什么不使用webdriver在第一个下拉列表中选择值,然后(在第二次更改中的值之后)在第二个组合框中获取值?!e、 g.smth类

//First click on first comboBox
var dropDown = driver.findElement(By.Css("#aff_network_id"));
dropDown.click();
//Select value from first dropDown
dropDown.findElement(By.Css("option[value='1']")).click();

//after that value in second dropDown will be changed and you can get it's value
driver.findElement(By.Css("#aff_campaign_id")).getAttribute('value');

若我正确地理解了这个问题,为什么不使用webdriver在第一个下拉列表中选择值,然后(在第二次更改中的值之后)在第二个组合框中获取值?!e、 g.smth类

//First click on first comboBox
var dropDown = driver.findElement(By.Css("#aff_network_id"));
dropDown.click();
//Select value from first dropDown
dropDown.findElement(By.Css("option[value='1']")).click();

//after that value in second dropDown will be changed and you can get it's value
driver.findElement(By.Css("#aff_campaign_id")).getAttribute('value');

若我正确地理解了这个问题,为什么不使用webdriver在第一个下拉列表中选择值,然后(在第二次更改中的值之后)在第二个组合框中获取值?!e、 g.smth类

//First click on first comboBox
var dropDown = driver.findElement(By.Css("#aff_network_id"));
dropDown.click();
//Select value from first dropDown
dropDown.findElement(By.Css("option[value='1']")).click();

//after that value in second dropDown will be changed and you can get it's value
driver.findElement(By.Css("#aff_campaign_id")).getAttribute('value');

开发人员可能已将事件绑定到第一个下拉列表中。我的意思是,在onblur事件的第一个下拉列表中选择选项后,它们可能会在第二个下拉列表中生成依赖项值


因此,您需要做的是,您需要在选择选项后的第一个下拉列表中触发事件

开发人员可能已将事件绑定到第一个下拉列表中。我的意思是,在onblur事件的第一个下拉列表中选择选项后,它们可能会在第二个下拉列表中生成依赖项值


因此,您需要做的是,您需要在选择选项后的第一个下拉列表中触发事件

开发人员可能已将事件绑定到第一个下拉列表中。我的意思是,在onblur事件的第一个下拉列表中选择选项后,它们可能会在第二个下拉列表中生成依赖项值


因此,您需要做的是,您需要在选择选项后的第一个下拉列表中触发事件

开发人员可能已将事件绑定到第一个下拉列表中。我的意思是,在onblur事件的第一个下拉列表中选择选项后,它们可能会在第二个下拉列表中生成依赖项值


因此,您需要做的是,您需要在选择选项后的第一个下拉列表中触发事件

不起作用。第二个级联下拉列表包含由ajax生成的元素。第一个是静态的,会出现什么样的问题?Webdriver找不到第二个元素?或者从中选择?使用前面描述的方法在第二个下拉列表中选择值后,第二个下拉列表是否会更新?不起作用。第二个级联下拉列表包含由ajax生成的元素。第一个是静态的,会出现什么样的问题?Webdriver找不到第二个元素?或者从中选择?使用前面描述的方法在第二个下拉列表中选择值后,第二个下拉列表是否会更新?不起作用。第二个级联下拉列表包含由ajax生成的元素。第一个是静态的,会出现什么样的问题?Webdriver找不到第二个元素?或者从中选择?使用前面描述的方法在第二个下拉列表中选择值后,第二个下拉列表是否会更新?不起作用。第二个级联下拉列表包含由ajax生成的元素。第一个是静态的,会出现什么样的问题?Webdriver找不到第二个元素?或者从中选择?使用前面介绍的方法在第二个下拉列表中选择值后,第二个下拉列表是否会更新?是否尝试使用
Select()
类设置第一个
元素的值?是否尝试使用
Select()
类设置第一个
元素的值?是否尝试使用
Select()
class设置第一个
元素的值?您是否尝试使用
Select()
类设置第一个
元素的值?完全正确!在调用每个下拉列表的onchange事件并等待脚本完成1秒后,它工作正常。完全正确!在调用每个下拉列表的onchange事件并等待脚本完成1秒后,它工作正常。完全正确!在调用每个下拉列表的onchange事件并等待脚本完成1秒后,它工作正常。完全正确!在调用每个下拉列表的onchange事件并等待脚本完成1秒后,它工作正常。