java - 如果硒中不存在元素,如何编写代码[JAVA]
问题描述
这是一个登录测试场景。有两个用户。他们是有效用户和无效用户。弹出确定单击正在测试中。
<----问题----->
if ----> (如果不存在元素) ---- print("successfuly login"),
else ----> (如果元素存在) ----- 弹出确定点击。与其他用户一起登录。
我不能这样做没有这样的元素案例。
错误
Exception in thread "main" org.openqa.selenium.NoSuchElementException: no such element: Unable to locate element: {"method":"xpath","selector":"html/body/div/div/div[3]/button[1]"}
(Session info: chrome=79.0.3945.88)
代码
WebElement temp444 = driver.findElement(By.xpath("html/body/div/div/div[3]/button[1]"));
System.out.println(temp444.getSize());
if(temp.getSize()!=null){
temp.click(); // ----> It's working!
}
else {
System.out.println("good working"); // ----> It isn't working.
}
解决方案
使用findElements
() 返回元素列表,然后检查列表的大小,如果大于 0 表示按钮存在并单击它。
List<WebElement> elements = driver.findElements(By.xpath("html/body/div/div/div[3]/button[1]"));
System.out.println(elements.size());
if(elements.size()>0)
{
elements.get(0).click();
}
else {
System.out.println("good working");
}
推荐阅读
- c# - 在我的 Web api 端点中解析 HTTP POST 请求正文时出错
- python - passing optional arguments to a function in pandas
- scala - 初始化后更改 Future 的 ExecutionContext
- c++ - 调用 Mitsuba 附加组件的构造函数时,未定义的符号运行时错误是什么意思?
- jekyll - 将变量传递到 for 循环中 - 不起作用
- jquery - Jquery 仅显示所选选项之一 + 必需
- python - 如何在 pandas 中使用 API Endpoint 下载 .csv 文件
- android - 如何只通知一次不同片段中的 liveData 更改?
- r - 如何使用 R 中的循环创建具有某些条件的虚拟变量?
- c++ - 从数组指针中获取奇怪的数字