java - 如何在循环之间跳过一键操作

标签 java selenium-webdriver

我当前正在运行一个脚本,其中有一个搜索框,我在其中输入一些关键字并搜索结果。所有的关键字都一一来自excel表,所以我使用“for循环”来实现这一点。现在,在这个循环中,当我第一次搜索关键字时,在下一步中,我必须单击一个我已经在脚本中编写的元素,但是当循环第二次运行时,我不需要单击该元素,因为它已经被单击了,现在我的脚本失败了,因为第二次 webdriver 无法单击该元素,我尝试过 isdisplayed()、isenabled() 函数,但没有任何效果。那么从第二次开始跳过循环中的一个点击步骤的最佳选择是什么?我知道实现此目的的最后一个选项是 try catch 但我不想使用它,请建议

最佳答案

当您的按钮第一次被点击时,使用一个 boolean 变量并为其分配 true。当第二次循环运行并发现 boolean 变量是否为真时,如果是,则使用“继续;”在你的java代码中。

boolean isClicked = false;
For(int i=0; i<=some_value;i++) {
if(!isCliecked){ 
WebElement.clicked Searchbox.sendkeys("mykeywords") } 
isClicked = true;
}else{
 continue;
 }

关于java - 如何在循环之间跳过一键操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43693578/

相关文章:

java - 如何从字符串中提取值

selenium - 无法使用 Selenium 将日期放入 Firefox 中的 &lt;input type ="date"> 字段

java - 如何在 2018 年 4 月至 2019 年 2 月之间从 for At 00 :00:00am, 编写 quartz 表达式

java - 如何在我的新项目中实现文本到语音代码?

java - 如何使用 Java 处理 Selenium WebDriver 中的弹出窗口

java - 仅当包含在 "testng suite"中时,同一类中的依赖方法才会乱序运行;独立运行类尊重依赖关系

python - 使用 BeautifulSoup 和 Selenium 抓取网站多个网页的内容

testing - Selenium WebDriver : How to wait for iframes to load completely? 可以点击 iframe 元素文本框 id = “div_4_1_2_1_1-lnk”

java - 运行 Jenkins 构建抛出 : java. lang.reflect.InaccessibleObjectException

java - 在实体的成员变量或 get 方法处设置 JPA 注释?