在运行automation时候,经常会遇到的问题是,页面的元素加载需要时间,而这个时间是不确定的,但是你的执行是一直在一步步往下走,如果实际页面等待时间过长导致某个dom元素还没出来,但是你的代码直接使用了这个WebElement,那么就会抛出NullPointer的异常。为了解决这种问题,尤其是RemoteWebDriver(不确定因素更多的情况) ,我们就需要用很高级的WebDriverWai            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2013-07-30 10:12:06
                            
                                5318阅读
                            
                                                        
                                点赞
                            
                                                                             
                 
                
                             
         
            
            
            
                         
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2015-12-24 18:19:00
                            
                                69阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            在自动化测试脚本的运行过程中,可以通过设置等待的方式来避免由于网络延迟或浏览器卡顿导览器driver = webdriver.Chrome()#设置窗口最            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2022-07-13 20:12:43
                            
                                423阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            源码+代码详解,让你更好的理解显示等待            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2023-04-27 10:02:39
                            
                                685阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            Python Selenium 显示等待 Web            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2022-11-01 12:02:07
                            
                                1157阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            selenium.webdriver.support.wait.WebDriverWait先看下WebDriverWait的代码import timefrom selenium.common.exceptions import NoSuchElementExceptionfrom selenium.common.exceptions import TimeoutExceptionPOLL_FREQ            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2017-05-31 20:26:41
                            
                                4737阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            强制等待:sleep() import time sleep(5) #等待5秒 设置固定休眠时间,单位为秒。 由python的time包提供, 导入 time 包后就可以使用。缺点:不智能,使用太多的sleep会影响脚本运行速度。 隐式等待:implicitly_wait() driver.impl ...            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2021-07-18 16:58:00
                            
                                563阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            Selenium 懒加载动态内容爬取
介绍
Selenium 是一个用于 Web 应用程序测试的工具,它提供了自动化浏览器操作的功能。对于带有懒加载的静态页面,通常需要滚动页面或等待一定的时间来获取完整的数据。使用 WebDriverWait 可以帮助我们在懒加载完成后抓取到所需的数据。
应用使用场景
爬取需要用户交互的网页内容,如社交媒体平台。
获取电商网站上动态更新的产品信息。
分析需要滚动            
                
         
            
            
            
            1、element_to_be_clickable(locator)是等待页面元素可见的时候操作,会设置一定范围的时间,如果在时间范围内,元素可见,就执行操作,元素不可见,就会引发TimeoutException的异常。如下是element_to_be_clickable#coding:utf-8from selenium import  webdriverfrom selenium.            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2022-08-01 18:01:00
                            
                                313阅读
                            
                                                                             
                 
                
                             
         
            
            
            
              文章目录一、WebDriver常用的八种定位方式二、定位方式总结三、定位方式实操1、id定位2、name定位3、class_name定位4、tag_name定位5、link_text定位6、partial_link_text定位7、xpath路径定位(绝对/相对路径)8、css定位 一、WebDriver常用的八种定位方式常用定位方式对应Python中的方法selenium4最新写法            
                
         
            
            
            
            元素定位对象的定位应该是自动化测试的核心,要想操作一个对象,首先应该识别这个对象。一个对象就是一个人一样,他会有各种的特征(属性),如比我们可以通过一个人的身份证号,姓名,或者他住在哪个街道、楼层、门牌找到这个人。
那么一个对象也有类似的属性,我们可以通过这些属性找到这对象。webdriver 提供了一系列的对象定位方法,常用的有以下几种
id
name
class name
link text
            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2024-03-16 02:10:54
                            
                                127阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            前言: 在脚本中加入太多的sleep后会影响脚本的执行速度,虽然implicitly_wait()这种方法隐式等待方法一定程度上节省了很多时间。 但是一旦页面上某些js无法加载出来(其实界面元素经出来了),左上角那个图标一直转圈,这时候会一直等待的。 一、参数解释 1.这里主要有三个参数: clas            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2021-06-03 10:44:00
                            
                                294阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            ppython from selenium import webdriver driver = webdriver.Chrome() driver.implicitly_wait(5) driver.get("file:///D:/study_seleinum/day3/test.html") #            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2022-08-29 13:54:59
                            
                                82阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            # xpath 使用路径表达式来匹配xml文档或html文档中的节点或节点集, # 这个路径表达式,和我们常见的文件夹路径有点像 # xpath 的标准语法 //tagname[@属性=''] # @后边可以跟任意属性,只要这个元素有就可以 # //a[@href='/checkwork/manag            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2022-08-29 13:55:29
                            
                                210阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            本文介绍了Selenium中显式等待的核心机制与最佳实践。显式等待通过条件驱动的方式精确控制测试流程,相比隐式等待具有更高精确性、灵活性和性能优势。文章详细解析了WebDriverWait的使用方法,包括超时配置、轮询机制,以及expected_conditions模块提供的各种等待条件,如元素存在性、可见性、可交互性检查等。同时提供了复合条件组合、页面状态验证等高级用法,并通过登录流程实例展示了实际应用场景。最后还总结了异常处理、性能优化等最佳实践,帮助开发者构建更健壮的自动化测试脚本。            
                
         
            
            
            
            强制等待:sleep() import time sleep(5) #等待5秒 设置固定休眠时间,单位为秒。 由python的time包提供, 导入 time 包后就可以使用。缺点:不智能,使用太多的sleep会影响脚本运行速度。 隐式等待:implicitly_wait() driver.impl ...            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2021-07-17 22:46:00
                            
                                474阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            Selenium一、Selenium简介Selenium是一个用于Web应用程序自动化测试工具。Selenium测试直接运行在浏览器中,就像真正的用户在 操作一样。支持的浏览器包括IE(7, 8, 9, 10, 11),Mozilla Firefox,Safari,Google Chrome,Opera等。 适用于自动化测试,js动态爬虫(破解反爬虫)等领域。二、Selenium组成1)Selen            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-07-21 17:48:46
                            
                                4阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            selenium中,经常会出现元素还没有加载出来,浏览器找不到元素而报错的问题,设置等待是保证脚本运行的一个重要手段,常用的等待有三种–强制等待、隐式等待、显示等待。
本文主要介绍显示等待和EC模块结合使用一、强制等待,也可以叫做固定等待,就是我们常用的sleep(),多用于调试、观察效果等,实际项目中不推荐使用二、隐式等待driver.implicitly_wait(最大等待时间x秒)
参数是最            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2022-10-15 01:22:39
                            
                                398阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            对Selenium自动化已有了解,最近开始做h5端的自动化,所以总结了下Python+Selenium自动化基本语法一、启动浏览器1、普通方式启动#coding=utf-8import timefrom selenium import webdriverdriver = webdriver.Chrome()  #启动Chrome浏览器driver = webdriver.Firefox()  #启动Firefox浏览器driver = webdriver.Ie  #启动IE浏览器drive            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2021-07-20 14:36:15
                            
                                279阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            Method Name:方法名,使用任何类的任何方法,我们都需要创建创建类的对象,然后对象可以申请类的素有公共方法(publicmethods) Return Type:返回的数据类型:方法能够返回一个值或者返回空(void)。 Parameter:参数,数据类型:传递到方法内进行操作的变量。传递的            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2020-01-19 17:18:00
                            
                                228阅读
                            
                                                                                    
                                2评论