搜索到所有人试图找到答案。
我想在网页上输入数据。我进入循环并输入数据。然后单击“下一步”按钮。这种情况一直持续到没有更多用户为止。一旦没有更多用户,页面就会更改,并且没有其他按钮可以单击。
我不确定如何使用Selenium在Java中编写代码。 C#,没有汗水。有什么想法吗?
这个工作一次,然后引用在下一次循环时变得陈旧。
WebElement loopCondition = driver.findElement(By.name("imgnext"));
while (loopCondition.isEnabled()) {
myElement = (new WebDriverWait(driver, 30))
.until(ExpectedConditions.elementToBeClickable(By.id("originalSalaryAmt")));
myElement.sendKeys("1000");
myElement.sendKeys(Keys.RETURN);
myElement = (new WebDriverWait(driver, 30))
.until(ExpectedConditions.elementToBeClickable(By.name("imgnext")));
myElement.click();
}
Java中没有.exists存在于C#中,因此我不确定如何处理这种情况。我只想输入数据,然后单击下一步转到下一个用户,直到下一个按钮不再存在。
答案 0 :(得分:0)
您应检查元素是否可见并在循环条件中启用此函数将WebElement作为参数传递:
public bool IsElementVisible(IWebElement element)
{
return element.Displayed && element.Enabled;
}
或者尝试:
driver.ElementIsPresent(By.name("imgnext"));
答案 1 :(得分:0)
我成功地使用了它。
while (driver.getPageSource().contains("Next") ) {