我正在使用以下代码来等待元素加载:
browser = webdriver.Chrome(executable_path=chromedriver,options=ChromeOpts, desired_capabilities=captain)
wait = WebDriverWait(browser, 5)
openbrowser = browser.get(url)
wait.until(EC.presence_of_element_located((By.ID, 'h1')))
browser.execute_script("window.stop();")
然而,我真正需要的是等待一个元素或另一个元素。 例如,我可以等待'h1'或'rf-footer'。
谢谢。
AttributeError: 'WebDriver'对象没有'presence_of_element_located'属性
- rafasalotime.sleep(x)
。 - rafasaloexpected_conditions
部分是不正确的,因为ec.presence_of_element_located
返回一个对象,因此使用or
运算符将始终返回or
之前的部分,但or
之后的部分永远不会被执行。 - Jakub Bláhapresence_of_element_located()
不会返回对象,而是会引发异常 - 这个异常被wait.until()
捕获,然后循环重复执行。因此,第二个presence_of_element_located()
实际上永远不会被执行 - 这就是您正确的部分。我将编辑答案,只保留find_elements*()
- 如果没有找到,它们将始终返回空列表(布尔值为假)。 - Todor Minakov