这是等待加载元素 ID 的正确方法吗?
我点击提交按钮,此页面将在 5-30 分钟内加载。完成后,我需要重复该过程。我的观点是我应该等待身份证出现。这是最好的方法吗?
Wait = WebDriverWait(driver, 999).until(EC.visibility_of_element_located((By.ID, "files"))) #Find element by text
print(wait.text) #Display text
当今 Selenium 的最佳实践建议使用一个框架来简化等待所需的代码。例如,等待 SeleniumBase 中具有
Driver()
格式的元素可能如下所示:
from seleniumbase import Driver
driver = Driver()
driver.get("https://example.com")
driver.wait_for_element("h1", timeout=100)
driver.highlight("h1")
driver.quit()
有身份证:
from seleniumbase import Driver
driver = Driver()
driver.get("https://developer.mozilla.org/")
driver.wait_for_element("#content h1", timeout=100)
driver.highlight("#content h1")
driver.quit()
Stack Overflow 上有很多帖子提到
WebDriverWait
和 EC.visibility_of_element_located
等,但这些会导致测试脚本非常长且混乱。现代方法包括通过使用简化事物的框架来保持事物的整洁。