【发布时间】:2021-02-17 02:10:08
【问题描述】:
我想知道当我使用 FirefoxDriver 时,等待页面加载/元素在 Selenium 中可见的最佳选择是什么。我不想使用 dom 树。
我知道我可以使用一些 Thread.sleep(number) 之王,但我不喜欢设置一个固定的数字,因为我想尽可能快地继续。
我发现例如: 点位置 = driver.findElement(By.xpath(xpath)).getLocation();
我也试过了:
WebDriverWait wait = new WebDriverWait(driver, 20);
wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath(xpath)));
但即使你知道这个 xpath 存在,我也只会得到预期的条件失败。
是否可以将其与附加的“虽然它是 NULL 或不可以找到”一起使用? 我的问题是我无法找到/理解我尝试的东西是否会影响 DOM,因此“页面所有者”可以看到它不是人类搜索页面。
我的代码如下所示:
FirefoxDriver driver = Webdriver.getDriver();
String BASE_URL = "https://www.webpage.com/";
driver.get(BASE_URL);
在 getDriver() 中,我设置了属性以及 "fp.setPreference("dom.webdriver.enabled", false);"
【问题讨论】:
标签: java wait selenium-firefoxdriver