Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/9.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
Java 遍历嵌套标记名-使用webDriver实现selenium自动化_Java_Selenium_Selenium Ide_Ui Automation_Selenium Firefoxdriver - Fatal编程技术网

Java 遍历嵌套标记名-使用webDriver实现selenium自动化

Java 遍历嵌套标记名-使用webDriver实现selenium自动化,java,selenium,selenium-ide,ui-automation,selenium-firefoxdriver,Java,Selenium,Selenium Ide,Ui Automation,Selenium Firefoxdriver,朋友们 我需要单击下拉列表并选择显示的任何值。 下拉列表由以下代码段标识 <select id="order_unit_line_rate_806782_is_addenda_enabled" class="selects_for_487886" onchange="select_addendum(806782, this);dateShowMemory(this.options[this.selectedIndex].value, '806782');" uniqueattr="Dyna

朋友们

我需要单击下拉列表并选择显示的任何值。 下拉列表由以下代码段标识

<select id="order_unit_line_rate_806782_is_addenda_enabled" class="selects_for_487886" onchange="select_addendum(806782, this);dateShowMemory(this.options[this.selectedIndex].value, '806782');" uniqueattr="Dynamic Site Accelerator / Dynamic Site Accelerator / Additional Usage Commitment / drop down" name="order_unit_line_rate[806782][is_addenda_enabled]">
    <option value="0" uniqueattr="Dynamic Site Accelerator / Dynamic Site Accelerator / Additional Usage Commitment / Fee"> Fee </option>
    <option value="1" uniqueattr="Dynamic Site Accelerator / Dynamic Site Accelerator / Additional Usage Commitment / See Attached Addendum"> See Attached Addendum </option>

费用
见附件
其中是 “选择”和 “选项”标记位于嵌套的层次结构中。我可以点击下拉列表,通过这样做来显示项目

List<WebElement> dropDownLists = driver.findElements(By.tagName("select"));
for (WebElement l : dropDownLists) { 
    if (l.getAttribute("uniqueattr").equalsIgnoreCase("Dynamic Site Accelerator / Dynamic Site Accelerator / Additional Usage Commitment / drop down")) {
              l.click();
    } // end if
} // end for
List dropDownLists=driver.findElements(按.tagName(“选择”));
对于(WebElement l:dropDownLists){
if(l.getAttribute(“uniqueattr”).equalsIgnoreCase(“动态站点加速器/动态站点加速器/附加使用承诺/下拉列表”)){
l、 单击();
}//如果结束,则结束
}//结束
但我无法进一步遍历以单击下拉列表中的选项:(

这是我尝试过的,但不起作用

List<WebElement> newList = driver.findElements(By.tagName("option"));
for (WebElement ll : newList) {
    if (ll.getAttribute("uniqueattr").equalsIgnoreCase("Dynamic Site Accelerator / Dynamic Site Accelerator / Additional Usage Commitment / Straight Line Commitment")) {
        ll.click();
    }
}
List newList=driver.findElements(按.tagName(“选项”);
for(WebElement ll:newList){
if(ll.getAttribute(“uniqueattr”).equalsIgnoreCase(“动态站点加速器/动态站点加速器/附加使用承诺/直线承诺”)){
ll.click();
}
}

按如下方式检索要单击的选项的标签、索引或值

List<WebElement> dropDownLists = driver.findElements(By.tagName("select"));
for (WebElement l : dropDownLists) 
{ 
    List<WebElement> newList = l.findElements(By.tagName("option"));
    for (WebElement ll : newList) 
    {
            if (ll.getAttribute("uniqueattr").equalsIgnoreCase("Dynamic Site Accelerator / Dynamic Site Accelerator / Additional Usage Commitment / Straight Line Commitment")) 
            {
                SelectElement select = new SelectElement(l);
                select.SelectByValue(ll.getAttribute("value"));
            }
    }
} 
List dropDownLists=driver.findElements(按.tagName(“选择”));
for(WebElement l:下拉列表)
{ 
List newList=l.findElements(按.tagName(“选项”));
for(WebElement ll:newList)
{
if(ll.getAttribute(“uniqueattr”).equalsIgnoreCase(“动态站点加速器/动态站点加速器/附加使用承诺/直线承诺”))
{
选择元素选择=新选择元素(l);
select.SelectByValue(ll.getAttribute(“值”));
}
}
} 
这就是为什么

做一些类似于:

    Select dropDown = new Select(dropDownElement);
    for (WebElement option : dropDown .getOptions()){
        if(!option.isSelected()){
            option.click();
        }
    }