问题描述
我想知道当我使用FirefoxDriver时,等待页面加载/硒中可见的最佳方法是什么?我不想使用dom树。
我知道我可以使用Thread.sleep(number)之王,但是我不想设置固定的数字,因为我希望尽快继续。
我发现例如: 点位置= driver.findElement(By.xpath(xpath))。getLocation();
我也尝试过:
webdriverwait wait = new webdriverwait(driver,20);
wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath(xpath)));
但是即使您知道此xpath存在,我也只能得到预期的条件失败。
是否可以将其与“ While”一起使用,还是找不到? 我的问题是我找不到/无法理解我尝试的操作是否影响了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...")
您可以尝试这一方法,希望它能完美工作...?