Selenium操作浏览器等待页面加载实例

2025-11-12 00:06:21

1、打开python开发工具IDLE,新建‘seltest.py’文件,并写代码如下:

from selenium import webdriver

 

from selenium.webdriver.support.wait import WebDriverWait

 

from selenium.webdriver.support import expected_conditions

 

from selenium.webdriver.common.by import By

WebDriverWait 是等待方法,接收参数如下:

1、driver: WebDriver实例

2、timeout: 超时时间,等待条件的最长时间

3、poll_frequency: 若等待条件不出现,再次调用until或until_not的间隔,默认是0.5秒

4、ignored_exceptions: 这是个异常的元组,在until或until_not的出现的异常在元组中,继续执行,不在,抛出异常,程序退出,一般开始时不填写,这样也能观察到异常。

expected_conditions 是期望的条件

Selenium操作浏览器等待页面加载实例

2、测试打开百度,代码如下:

from selenium import webdriver

 

from selenium.webdriver.support.wait import WebDriverWait

 

from selenium.webdriver.support import expected_conditions

 

from selenium.webdriver.common.by import By

 

driver = webdriver.Chrome()

 

cont = driver.get('http://www.baidu.com')

 

print (type(cont))

 

print (cont)

 

driver.quit()

Selenium操作浏览器等待页面加载实例

3、F5运行代码,可以看到一闪而过的百度页面,控制台打印出内容如下图

Selenium操作浏览器等待页面加载实例

4、打印出元素的内容,修改代码如下:

from selenium import webdriver

 

from selenium.webdriver.support.wait import WebDriverWait

 

from selenium.webdriver.support import expected_conditions

 

from selenium.webdriver.common.by import By

 

driver = webdriver.Chrome()

 

cont = driver.get('http://www.baidu.com')

 

print (type(cont))

 

print (cont)

 

ele = driver.find_element_by_id('su')

 

print (ele.get_attribute('value'))

 

driver.quit()

Selenium操作浏览器等待页面加载实例

5、F5运行代码,打印出查找到的元素的value内容

Selenium操作浏览器等待页面加载实例

6、上面演示了selenium的魅力,如果网络环境不好或者页面加载需要时间较长时候,这时候就要用到WebDriverWait这个厉害的等待方法了,修改代码如下:

from selenium import webdriver

 

from selenium.webdriver.support.wait import WebDriverWait

 

from selenium.webdriver.support import expected_conditions

 

from selenium.webdriver.common.by import By

 

driver = webdriver.Chrome()

 

cont = driver.get('http://www.baidu.com')

 

print (type(cont))

 

print (cont)

 

findby = (By.ID,'su')

 

elem = WebDriverWait(driver,10).until(expected_conditions.presence_of_element_located(findby))

 

print (elem.get_attribute('value'))

 

driver.quit()

Selenium操作浏览器等待页面加载实例

7、F5运行代码,selenium会操作浏览器直到想要的元素出现,打印出内容如下图

Selenium操作浏览器等待页面加载实例

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢