栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

等待页面加载有Selenium WebDriver for Python

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

等待页面加载有Selenium WebDriver for Python

webdriver
会通过等待页面加载默认
.get()
的方法。

正如您在寻找@ user227215所说的某些特定元素一样,您应该使用它

WebDriverWait
来等待页面中的某个元素:

from selenium import webdriverfrom selenium.webdriver.support.ui import WebDriverWaitfrom selenium.webdriver.support import expected_conditions as ECfrom selenium.webdriver.common.by import Byfrom selenium.common.exceptions import TimeoutExceptionbrowser = webdriver.Firefox()browser.get("url")delay = 3 # secondstry:    myElem = WebDriverWait(browser, delay).until(EC.presence_of_element_located((By.ID, 'IdOfMyElement')))    print "Page is ready!"except TimeoutException:    print "Loading took too much time!"

我用它来检查警报。您可以使用任何其他类型的方法来查找定位器。

编辑1:

我应该提到,

webdriver
默认情况下,会等待页面加载。它不等待加载内部框架或ajax请求。这意味着当您使用时
.get('url')
,浏览器将等待页面完全加载完毕,然后转到代码中的下一个命令。但是,当您发布ajax请求时,
webdriver
不要等待,您有责任等待适当的时间以加载页面或页面的一部分;因此有一个名为的模块
expected_conditions



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/447790.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号