交互我试图执行下面的Selenium Web驱动程序脚本,但我得到org.openqa.selenium.ElementNotVisibleException: Element is not currently visible and so may not be interacted with
错误几次(并非所有的时间)。有时在循环中第一次迭代,有时在2次迭代中,有时没有开始循环。它打印所有可用的项目算错,但乳清试图点击项目,它显示Element is not currently visible...
org.openqa.selenium.ElementNotVisibleException:元素当前不可见,因此可能不会与
public void pickitems() throws Exception
{
Webdriver driver = new firefoxdriver();
driver.get("http://www.bigbasket.com");
driver.manage().window().maximize();
//Selecting Location
List<WebElement> list = driver.findElement(By.id("ftv-city-popup")).findElements(By.tagName("button"));
int location = r.nextInt(list.size());
list.get(location).click();
//Selection random Category from left panel through list
Thread.sleep(30000);
List<WebElement> xyz = driver.findElement(By.id("uiv2-main-menu")).findElements(By.className("top-category"));
System.out.println(xyz.size());
Random r = new Random();
int category = r.nextInt(xyz.size());
xyz.get(category).click();
for (int i = 0; i < 3; i++) {
Thread.sleep(30000);
List<WebElement> availableItems = driver.findElements(By.cssSelector("a.uiv2-add-button.a2c"));
System.out.println(availableItems.size());
if (availableItems.size() > 0)
{
int selectItem = r.nextInt(availableItems.size());
availableItems.get(selectItem).click();
}
else
{
Thread.sleep(30000);
List<WebElement> availableItems2 = driver.findElements(By.cssSelector("a.uiv2-add-button.a2c"));
if (availableItems2.size() == 0) {
System.out.println("No more items are available. Sorry for the inconvenience");
}
else {
Assert.fail("Unable to select items. May be page loading issue");
}
}
}
}
}
感谢。这解决了我的问题。 – 2015-02-26 05:14:05
@JakeW。很高兴帮助你 – Saifur 2015-02-26 13:29:47
你能帮我把这个命令转换成JS吗?我有同样的问题,但我在Node.JS的量角器中使用。谢谢@Saifur – 2016-06-09 11:46:04