使用FirefoxDriver等待Selenium中的页面加载/元素可见



当我使用FirefoxDriver时,我想知道在Selenium中等待页面加载/elmnt的最佳选项是什么。我不想使用dom树。

我知道我可以使用Thread.sleep(数字(,但我不喜欢设置固定的数字,因为我想尽快继续。

例如,我发现:点位置=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(">

我一直在使用这个,这个对我来说很好

try:
WebDriverWait(context.driver, timeout).until(
expected_conditions.presence_of_element_located((By.CSS_SELECTOR, '#element')))
except():
print("Element didn't load yet...")

你可以试试这个,希望这个能完美。。。😊

最新更新