Tag: webdriverwait

getWindowHandles()在firefox 58中不起作用。焦点仍然在父选项卡上,并且不会转移到下一个选项卡

我开始学习如何使用Selenium和Java在浏览器中处理多个选项卡。 看起来我的代码不起作用。 import java.util.ArrayList; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.firefox.FirefoxDriver; public class HandlingWindows { public static void main(String[] args) throws InterruptedException { WebDriver driver= new FirefoxDriver(); driver.get(“https://www.facebook.com/”); String parent= driver.getWindowHandle(); System.out.println(“Parent Window is”+parent); //Get Data Policy WebElement we= driver.findElement(By.linkText(“Data Policy”)); //Click Data Policy link we.click(); //Create an arrayList ArrayList s1= new ArrayList(driver.getWindowHandles()); for(String […]

如何检查100%覆盖的WebElement是否可以与Selenium一起点击

我有两个具有绝对位置的div Visible later To be removed 和一些Javascript(这里没有显示)从DOM中删除4712一段时间(比如说2秒后)。 现在,在我的Selenium测试中,我想检查4711是否可点击。 从用户的角度来看,只有在删除4712后才能点击它。 所以我试过了 new WebDriverWait(browserInstance.getWebDriver(), 5).until(ExpectedConditions.elementToBeClickable(By.id(“4711”))); 但是,4711始终是可点击的(启用=真,显示=真),即使在删除4712之前也是如此。 有没有办法如何检查4711是否真的可以点击,也就是说,从用户的角度可以点击(理想情况下不使用Javascript)?

用显式等待替换隐式等待(selenium webdriver&java)

如何用显式替换这个隐式等待? driver = new ChromeDriver(function); 。driver.manage()deleteAllCookies(); driver.manage()。timeouts()。implicitlyWait(10,TimeUnit.SECONDS); 这在Before Method中使用。 我能够替换代码中的所有Thread.sleep(),但我不知道该怎么做。