我正在尝试在Selenium Web驱动程序脚本下执行,但是org.openqa.selenium.ElementNotVisibleException: Element is not currently visible and so may not be interacted with
几次(并非所有时间)都出现错误。有时在循环中第一次迭代,有时在2次迭代中,有时没有启动循环。它打印所有可用项目的计数正确,但是乳清试图单击项目,显示Element is not currently visible...
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");
}
}
}
}
}
终于这对我有用。元素当前不可见,因此可能无法与之交互。
最初,这就像测试只成功了5次中的2次一样。不确定有时如何运作,其他人则无法运作。
通过减少IE中的安全设置来工作。启用所有activeX控件。同时启用脚本和IFRAMES。其中一些将警告您将计算机置于危险之中,但这是我唯一的解决方案。通过在页面加载花费时间的每个点上使用presenceOfElementLocated而不是visibleOfElementLocated来引入显式等待。
WebDriverWait wait = new WebDriverWait(driver,30);
wait.until(ExpectedConditions.presenceOfElementLocated(By.xpath("//*[@id='campaignListTable']"))); /*examining the xpath for a search
box*/
driver.findElement(By.xpath("//*[@id='campaignListTable']")).sendKeys("TEXT"); /*enter text in search
box*/
我正在尝试在下面执行硒Web驱动程序脚本,但是我正在获得(不是所有时间)。有时在第一次迭代的循环中,有时在2次迭代中,有时没有启动循环。它正确打印所有可用的项目计数,但乳清试图点击项目,它显示
我需要选择列表中的最后一项。下面的代码显示了该元素当前不可见的消息。如何解决这个问题? HTML: 列表的屏幕截图。该列表有一个搜索字段,用户可以在其中输入前缀以缩小搜索范围。
问题内容: 我正在尝试单击具有文本克隆概念的范围。以下是html 我使用的javascript代码是: 我确认这是通过Firepath的元素的正确选择。 我还确保按照链接可见该元素。如何强制SeleniumWebDriver单击当前不可见的元素? 这是 计算的CSS 还尝试了以下代码: 异常: org.openqa.selenium.ElementNotVisibleException:元素当前不
这是我项目中的弹出窗口,我遇到了点击“我准备好返回注册主页”链接的问题。我是按id定位的 它抛出错误“元素当前不可见,因此可能无法与元素交互”][1] [1]:http://i.stack.imgur.com/sbjJb.png
我正在编写脚本,使用selenium将我的ssh密钥添加到bitket的部署密钥中。直到行 工作正常,但当弹出窗口出现时,我想在特定字段中输入键 它抛出此错误 元素当前不可见,因此可能无法与之交互。我在谷歌上搜索了这个。我开始知道,首先我需要转到此弹出窗口,然后我将能够将值传递给相应的元素。我不知道该怎么做。 请帮助我如何专注于新的弹出窗口。我也使用了时间睡眠(10),但它仍然不适合我。