当前位置: 首页> 文旅> 文化 > 国外便宜的云服务器_网站创建器_对网站外部的搜索引擎优化_山东自助seo建站

国外便宜的云服务器_网站创建器_对网站外部的搜索引擎优化_山东自助seo建站

时间:2025/7/11 7:48:07来源:https://blog.csdn.net/smile4548656/article/details/147274949 浏览次数:0次
国外便宜的云服务器_网站创建器_对网站外部的搜索引擎优化_山东自助seo建站

由于网络速度慢、服务器处理请求慢、电脑配置低等原因,在web自动化过程中常常需要使用到元素等待。

那么什么是元素等待呢?

在定位元素时,如果定位到元素,则会直接返回该元素,不触发等待。
如果没有定位到元素,则间隔一段时间后再去定位元素。
在定位元素时,如果未找到,会在指定时间内一直等待的过程,就是元素等待。
在这里插入图片描述
元素等待分为两种:分别是隐式等待和显式等待。

一、隐式等待

隐式等待是全局设置,只需要设置一次,就会作用于所有元素。

在等待时间内页面没有加载完成,时间一到也会进行下一步操作,这种情况可能出现要定位的元素没有出现,从而报找不到元素的错误,即NoSuchElementException。

隐式等待直接通过驱动对象调用,即driver.implicity_wait(timeout),其中timeout为最大等待时间,单位是秒。

from time import sleepfrom selenium import webdriver
from selenium.webdriver.common.by import Bydriver = webdriver.Chrome()
url = "http://www.baidu.com"
driver.get(url)
driver.maximize_window()# 隐式等待
driver.implicitly_wait(10)driver.find_element(By.ID, "kw").send_keys("等待")sleep(2)
driver.quit()

二、显式等待

显式等待作用于指定的元素,会一直等待这个元素出现,当超过时间元素还未出现,会报TimeoutException错误。

显式等待封装在WebDriverWait类中:
导包:from selenium.webdriver.support.wait import WebDriverWait
使用:WebDriverWait(driver,10,1).until(lambda x:x.find_element(By.ID,“kw”)),其中10是等待的时间,1是轮训的时间,默认轮询时间为0.5。

from time import sleepfrom selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.wait import WebDriverWaitdriver = webdriver.Chrome()
url = "http://www.baidu.com"
driver.get(url)
driver.maximize_window()# 显式等待
WebDriverWait(driver, 10, 1).until(lambda x: x.find_element(By.ID, "kw")).send_keys("等待")sleep(2)
driver.quit()

总结

在这里插入图片描述

关键字:国外便宜的云服务器_网站创建器_对网站外部的搜索引擎优化_山东自助seo建站

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: