if块中的java或condition只检查第一个stmt,而不检查第二个stmt
我正在尝试登录,输入用户名和pwd,并在未显示“同意元素”或显示“管理标题元素”时写入条件,然后单击管理元素,但我的代码只是检查未显示“同意元素”,并引发异常
driver.get("entering url");
driver.manage().window().maximize();
driver.findElement(By.id("BodyContent_MainContent_MainContentPlaceHolder_UserName")).sendKeys(" entering username");
driver.findElement(By.id("BodyContent_MainContent_MainContentPlaceHolder_Password")).sendKeys("sending pwd");
driver.findElement(By.id("BodyContent_MainContent_MainContentPlaceHolder_LoginButton")).click();
if( !driver.findElement(By.xpath("//input[@value='I Agree']")).isDisplayed() || driver.findElement(By.id("admin_header")).isDisplayed() );
driver.findElement(By.id("admin_header")).click();
}
# 1 楼答案
使用
findElements
而不是findElement
,并检查返回集合的size()
以检查是否存在“我同意”元素