我正在Practiceautomation.com网站上练习硒。我在注册时遇到问题-我的选择器无法找到带有索引的选项。
代码:
org.openqa.selenium.NoSuchElementException: Cannot locate option with index: 2000
For documentation on this error, please visit: http://seleniumhq.org/exceptions/no_such_element.html
Build info: version: '3.12.0', revision: '7c6e0b3', time: '2018-05-08T14:04:26.12Z'
System info: host: 'DESKTOP-NN5LV43', ip: '192.168.0.2', os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '10.0.1'
Driver info: driver.version: unknown
我得到类似的东西:
Select dateSelector = new Select(driver.findElement(By.id("days")));
dateSelector.selectByIndex(15);
这很奇怪,因为我也使用
verticalGap
一切正常,通常选择列表中的日期
图片: Year 如您所见,年份可见。
答案 0 :(得分:2)
您尝试按索引 2000 选择,但错误提示索引2000没有选项。也许您想按值选择?
Select yearSelector = new Select(driver.findElement(By.id("years")));
yearSelector.selectByValue("2000");
答案 1 :(得分:2)
public void selectByIndex(int index)
以上方法选择给定索引处的选项。这是通过检查元素的“索引”属性来完成的,而不仅仅是计数。如果没有找到匹配的选项元素,则会引发NoSuchElementException
检查html中的index属性,其值为2000,应该不存在该属性,因此请尝试
selector.selectByIndex(1); // see first visible year is selected or not