Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.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
Html 获取错误“;java.lang.IndexOutOfBoundsException:索引:1,大小:1“;尝试从下拉列表中选择第二个选项时_Html_Selenium_Selenium Webdriver - Fatal编程技术网

Html 获取错误“;java.lang.IndexOutOfBoundsException:索引:1,大小:1“;尝试从下拉列表中选择第二个选项时

Html 获取错误“;java.lang.IndexOutOfBoundsException:索引:1,大小:1“;尝试从下拉列表中选择第二个选项时,html,selenium,selenium-webdriver,Html,Selenium,Selenium Webdriver,我想从下拉列表中选择第三个选项。下拉列表写在div标记中。我只得到下拉列表的大小为1,但下拉列表中总共有10项。以下是Selenium代码: driver.manage().timeouts().implicitlyWait(10,TimeUnit.SECONDS); driver.manage().timeout().pageLoadTimeout(10,TimeUnit.SECONDS); //单击下拉列表 element=driver.findElement(By.xpath(“//div

我想从下拉列表中选择第三个选项。下拉列表写在
div
标记中。我只得到下拉列表的大小为1,但下拉列表中总共有10项。以下是Selenium代码:

driver.manage().timeouts().implicitlyWait(10,TimeUnit.SECONDS);
driver.manage().timeout().pageLoadTimeout(10,TimeUnit.SECONDS);
//单击下拉列表
element=driver.findElement(By.xpath(“//div[@class='selectedItem']”);
元素。单击();
//在这里,我试图获取下拉列表中的所有选项。
列表选项=driver.findElements(By.xpath(“//div[@class='dropdownItems open']);
int size=options.size();
//下拉列表中有10项,但结果我只得到一项。
系统输出打印项次(尺寸);
//这里我得到了“越界”的错误
选项。获取(1)。单击();
睡眠(5000);
我想在这里

List options=driver.findElements(By.xpath(“//div[@class='dropdownItems open']);
你只需要得到和这里相同的元素

element=driver.findElement(By.xpath(“//div[@class='selectedItem']”);
但是在你点击它之后,它改变了它的类。所以你得到的是一个项目列表

问题是选项是列表中的元素。检查你的html。例如,如果有类似的情况:


选择1
选择1
选择1
然后需要使用以下代码:

List options=driver.findElements(By.xpath(“//div[@class='dropdownItems open']/div”);

i、 e.扩展xpath,在列表中查询哪些项目。

由于缺少信息,很难说清楚-您忘记发布HTML。我猜:将
By.xpath(“//div[@class='dropdownItems open']”)更改为
By.classname(“dropdownItems”)
。请记住,HTML中的
class
属性是一个以空格分隔的类列表。