首页 > 其他分享 >selenium4 增加超时和等待时间

selenium4 增加超时和等待时间

时间:2023-10-31 11:56:21浏览次数:40  
标签:webdriver self driver selenium4 等待时间 timeout import sleep 超时

增加全局的超时 和 等待时间:
import time

from selenium.webdriver import Keys, ActionChains
from selenium.webdriver.common.by import By
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from webdriver_manager.chrome import ChromeDriverManager

'''
初始化操作
'''
driver = webdriver.Chrome(service=Service(ChromeDriverManager().install()))


def init():
    # 最大化操作
    driver.maximize_window()
    driver.set_script_timeout(60)
    # 智能等待找到元素后立即继续执行,全局生效
    driver.implicitly_wait(60)
    driver.set_page_load_timeout(60)


init()

'''
元素点击操作
'''


def clickDemo():
    # 点击(鼠标左键)页面按钮:click()
    driver.get("http://localhost:8080/click.html")
    button1 = driver.find_element(By.ID, "button1")
    is_displayed = button1.is_enabled() #判断元素是否是可使用的,True/False
    if is_displayed:
        button1.click()

    # 关闭弹窗
    driver.switch_to.alert.accept()
 

 方案二:

在查找元素时,新增一个同名的覆盖方法:

 class BasePage(object):
    log = LoggerClass()

    def __init__(self, driver, default_timeout=30, sleep=5):
        self.driver = driver
        self.default_timeout = default_timeout
        self.sleep = sleep
   
   def find_element(self, by, value, timeout=None, sleep=None):
        if timeout is None:
            timeout = self.default_timeout
        self.log.info("Find the element: ", (by, value))
        if sleep is None:
            time.sleep(self.sleep)
        else:
            time.sleep(sleep)
#查看元素:等待,直到找到元素后才返回。如果超过timeout这个超时时间后依然没找到就会抛出异常 element = WebDriverWait(self.driver, timeout=timeout).until(lambda d: d.find_element(by, value)) return element

 

标签:webdriver,self,driver,selenium4,等待时间,timeout,import,sleep,超时
From: https://www.cnblogs.com/pingguomang/p/17799931.html

相关文章

  • R语言贝叶斯Metropolis-Hastings Gibbs 吉布斯采样器估计变点指数分布分析泊松过程车
    原文链接:http://tecdat.cn/?p=26578 原文出处:拓端数据部落公众号最近我们被客户要求撰写关于吉布斯采样器的研究报告,包括一些图形和统计输出。指数分布是泊松过程中事件之间时间的概率分布,因此它用于预测到下一个事件的等待时间,例如,您需要在公共汽车站等待的时间,直到下一班车......
  • c#使用委托执行带有超时检查的方法
    namespaceTimeOutHelper{internalclassProgram{//定义一个泛型委托,用于定义带有超时检查的方法的签名publicdelegateTRTimeOutDelegate<inT,outTR>(Tparam);privatestaticvoidMain(){Dictionary<Guid,string>result;//调用Timeo......
  • c#使用委托执行带有超时检查的方法
    namespaceTimeOutHelper{internalclassProgram{//定义一个泛型委托,用于定义带有超时检查的方法的签名publicdelegateTRTimeOutDelegate<inT,outTR>(Tparam);privatestaticvoidMain(){Dictionary<Guid......
  • Python函数超时,用装饰器解决, win可以运行
        https://mp.weixin.qq.com/s/u5VGromE6iJmBBUoNaPFmw pipinstallfunc_timeout  #-*-coding:utf-8-*-importtimefromfunc_timeoutimportfunc_set_timeout@func_set_timeout(5)deftask():whileTrue:print('helloworld�......
  • 在使用 Unity 2022 打包安卓项目时,遇到 gradle 无法访问或下载超级慢最终超时出错的问
    一般表现是打包最后一步会等待超长时间,最后报错,错误信息:PickedupJAVA_TOOL_OPTIONS:-Dfile.encoding=UTF-8FAILURE:Buildfailedwithanexception.*Whatwentwrong:Aproblemoccurredconfiguringrootproject'Gradle'.>Couldnotresolveallartifactsfor......
  • k8s service访问偶发超时问题
    问题现象在某个集群节点上的服务访问service服务:端口,会出现偶发timeout的问题,集群有的节点不会出现访问timeout的问题问题处理查看bridge-nf-call-iptables参数是否开启cat/proc/sys/net/bridge/bridge-nf-call-iptables0问题解决开启内核参数echo"net.bridge.br......
  • Dynamic CRM 部署ADFS 登陆超时时间查看及修改
    部署ADFS后,DynamicCRM登陆一段时间后会登陆失效。原因是在DynamicCRM所在的ADFS服务器中TokenLifetime默认值为0.1.查询ADFS的TokenLifetime在部署ADFS服务器里面,运行输入:PowerShell,输入代码:Get-ADFSRelyingPartyTrust"CRMIFDRelyingParty" 2.设置ADFS服务器TokenLif......
  • Selenium4 上传文件,弹出对话框(非input框)
    场景:点击一个按钮,然后弹出对话框,从本地选择需要上传的文件,自动关闭对话框。最后在点击web页面的ok按钮提交上传文件。ps:因为这里是按钮上传,所以用input框的sendkeys方法是无法上传成功的了。下面是点击按钮上传成功的案例,需要注意的是,上传时,还需要了解各个按键是什么text来......
  • fastapi设置超时时间
    方法一:应用级别的超时设置一种设置FastAPI应用程序全局超时时间的方法是使用TimeoutMiddleware中间件。以下是一个示例:fromfastapiimportFastAPIfromfastapi.middleware.timeoutimportTimeoutMiddlewarefromdatetimeimporttimedeltaapp=FastAPI()#设置应用......
  • 谈谈selenium4.0中的相对定位
    相对定位历史2021-10-13发布的selenium4.0开始引入,selenium3.X是没有的implementrelativelocatorforfind_element(#9902)4.10维护了下Improvenearrelativelocatorbehavior(#11290)其他都是文档、异常信息方面的处理实例演示D:\selenium\demo\relative......