selenium - 如果 selenium webdriver 中的条件问题
问题描述
当我执行脚本时,总是执行第一个条件。即使是脚本也值得第二个条件。
if (driver.findElement(By.id("jSuccess")).isDisplayed())
{
driver.findElement(By.id("jSuccess")).click();
System.out.println("Clockedin Successfully....");
}
else if (driver.findElement(By.id("jError")).isDisplayed())
{
driver.findElement(By.id("jError")).click();
System.out.println("User already clockedin");
// ul.getclockout().click();
}
解决方案
我认为你在写的地方有错字,loop
而不是condition
你可以试试size
功能findElements
另外,由于您已经使用过if
,else if
因此只有其中一个会执行
if (driver.findElements(By.id("jSuccess")).size()>0) {
driver.findElement(By.id("jSuccess")).click();
System.out.println("Clockedin Successfully....");
}
else if (driver.findElements(By.id("jError")).size()>0) {
driver.findElement(By.id("jError")).click();
System.out.println("User already clockedin");
// ul.getclockout().click();
}
// 如果您希望两个语句都应基于条件评估执行,那么您可以通过删除如下使用else
if (driver.findElements(By.id("jSuccess")).size()>0) {
driver.findElement(By.id("jSuccess")).click();
System.out.println("Clockedin Successfully....");
}
if (driver.findElements(By.id("jError")).size()>0) {
driver.findElement(By.id("jError")).click();
System.out.println("User already clockedin");
// ul.getclockout().click();
}
推荐阅读
- mongodb - 如何连接到monogdb
- react-native - 当列表更新时,React Native Video 从暂停状态播放
- prolog - Prolog中求和的解决方案
- node.js - Electron Webview 得到响应
- python - 使用 Beautifulsoup 抓取时如何删除多个空行
- python - 将枕头图像从 PDF 保存到 Google 云服务器
- dialogflow-es - 用户退出 Google 助理后,基本卡在哪里?
- postgresql - docker-compose时如何创建postgres数据库并运行迁移
- port - 大使中的 service_port 是做什么用的
- python-2.7 - BeautifulSoup Python API 没有得到我想要的部分