Selenium
文章平均质量分 74
奔跑在路上you
记录分享测试相关文章
展开
-
Selenium(20):传入webdriver驱动的新方法 Service()函数;以前的executable_path报警告,即将弃用
举例:webdriver.Chrome(executable_path=driver_path);看提示警告,提示该方法即将被弃用;1、首先导入selenium的包:from selenium.webdriver.chrome.service import Service。# 传入webdriver驱动的新方法 Service()函数;以前的报警告,即将弃用。3、使用Service()方法传入驱动包,执行后就不会报警告了。2、使用Service()方法;原创 2024-09-24 14:55:39 · 261 阅读 · 0 评论 -
Selenium(19):取消chrome受自动控制提示
chrome_options.add_experimental_option("excludeSwitches", ['enable-automation']) # 取消chrome受自动控制提示。chrome_options.add_experimental_option('useAutomationExtension', False) # 取消chrome受自动控制提示。chrome_options.add_argument('lang=zh_CN.UTF-8') # 设置默认编码为utf-8。原创 2024-09-24 14:55:22 · 365 阅读 · 0 评论 -
Selenium(18):通过cookie绕过验证码的操作
driver_path = os.path.join(current_path,'../webdriver/chromedriver.exe') # driver路径。driver_path = os.path.join(current_path,'../webdriver/chromedriver.exe') # driver路径。current_path = os.path.dirname(os.path.abspath(__file__)) # 当前路径。原创 2024-09-24 14:55:04 · 560 阅读 · 0 评论 -
Selenium(17):浏览器多窗口操作
driver_path = os.path.join(current_path,'../webdriver/chromedriver.exe') # driver路径。driver.find_element(By.XPATH,'//a[text()="脱贫攻坚"]').click()driver.find_element(By.XPATH,'//a[text()="脱贫攻坚"]').click()driver.switch_to.window( new_handle_01 ) # 切换到新的窗口句柄。原创 2024-09-24 14:54:46 · 397 阅读 · 0 评论 -
Selenium(16):通过调用javascript进行操作
driver_path = os.path.join(current_path,'../webdriver/chromedriver.exe') # driver路径。pages_path = os.path.join(current_path,'../pages/element_samples.html') # 本地网页路径。driver.get('file://%s'%pages_path) # 本地网页打开file:// 打开部署好的站点http://另一种是在某个已经定位的元素上执行js。原创 2024-09-24 14:54:25 · 357 阅读 · 0 评论 -
Selenium(15):下拉框的操作
driver_path = os.path.join(current_path,'../webdriver/chromedriver.exe') # driver路径。pages_path = os.path.join(current_path,'../pages/element_samples.html') # 本地网页路径。select_obj.select_by_visible_text('桔子') # 利用可见的文本内容选择选项。# 直接识别下拉框选项并点击(select)原创 2024-08-31 15:24:30 · 478 阅读 · 0 评论 -
Selenium(14):JS弹框的操作
driver_path = os.path.join(current_path,'../webdriver/chromedriver.exe') # driver路径。pages_path = os.path.join(current_path,'../pages/element_samples.html') # 本地网页路径。driver.switch_to.alert.send_keys('python') # 必须send_keys和accept()联合使用才生效。向prompt中输入文字。原创 2024-08-31 15:23:53 · 422 阅读 · 0 评论 -
Selenium(13):定位frame框架中的元素
switch_to.frame方法可以把当前定位的主题切换到frame里,在frame里实际是嵌套了另外一个页面,而webdriver每次只能在一个页面识别,所以需要用switch_to_frame方法去获取frame中嵌套的页面。driver.find_element(By.XPATH,'//body/input[2]').send_keys('java') # 定位iframe内部的元素。# switch_to.frame(参数) 可以填三种值 frame_id frame_name。原创 2024-08-31 15:23:20 · 526 阅读 · 0 评论 -
Selenium(12):层级定位_通过父元素找到子元素
在实际的项目测试中,经常会遇到无法直接定位到需要选取的元素,但是其父元素比较容易定位,通过定位父元素再遍历其子元素选择需要的目标元素,或者需要定位某个元素下所有的子元素。driver_path = os.path.join(current_path,'../webdriver/chromedriver.exe') # driver路径。pages_path = os.path.join(current_path,'../pages/element_samples.html') # 本地网页路径。原创 2024-08-31 15:22:42 · 437 阅读 · 0 评论 -
Selenium(11):通过find_elements定位一组元素
driver_path = os.path.join(current_path,'../webdriver/chromedriver.exe') # driver路径。pages_path = os.path.join(current_path,'../pages/element_samples.html') # 本地网页路径。current_path = os.path.dirname(os.path.abspath(__file__)) # 当前路径。原创 2024-08-31 15:22:02 · 412 阅读 · 0 评论 -
Selenium(10):等待操作&练习selenium相关的html链接&EC模块断言
driver_path = os.path.join(current_path,'../webdriver/chromedriver.exe') # driver路径。driver_path = os.path.join(current_path,'../webdriver/chromedriver.exe') # driver路径。driver_path = os.path.join(current_path,'../webdriver/chromedriver.exe') # driver路径。原创 2024-08-31 15:21:18 · 1064 阅读 · 0 评论 -
Selenium(9):模拟鼠标键盘的操作事件
mouse_obj.move_to_element(e1).pause(3).click(e2).release(e2).perform() # 链条命令 移动到 更多 元素上停顿3秒,然后点击 知道 元素。ActionChains(driver).move_to_element(元素对象).pause(秒).click(元素对象).release(元素对象).perform()mouse_obj.context_click(element_obj).perform() # perform执行操作。原创 2024-08-31 15:20:38 · 848 阅读 · 0 评论 -
Selenium(8):对常用元素进行的操作
print(element_obj.get_attribute('maxlength')) # get_attribute("属性名") 获取指定属性的值。driver.find_element(By.XPATH,'//a[text()="地图"]').click()print(element_obj.is_displayed()) # is_displayed() 元素是否显示。driver.find_element(By.XPATH,'//a[text()="地图"]').click()原创 2024-08-31 15:20:02 · 378 阅读 · 0 评论 -
Selenium(7):元素定位_css_selecto定位
CSS是一个被用来描述如何在屏幕等处渲染HTML和XML文档的语言。CSS使用选择器来为文档中的元素绑定样式属性。选择器(selector)是用来在树中匹配元素的模式,选择器对HTML和XML进行了优化,被设计用来在注重性能的代码中执行。Selenium官网的Document里极力推荐使用Css_selector,而不是XPath来定位元素。绝对路径是从网页的根节点html开始,逐层去查找需要定位的元素。此方法缺点显而易见,当页面元素位置发生改变时,都需要修改,因此,并不推荐使用。原创 2024-08-31 15:19:19 · 967 阅读 · 0 评论 -
Selenium(6):元素定位_xpath定位
driver_path = os.path.join(current_path,'../webdriver/chromedriver.exe') # driver路径。driver_path = os.path.join(current_path,'../webdriver/chromedriver.exe') # driver路径。driver_path = os.path.join(current_path,'../webdriver/chromedriver.exe') # driver路径。原创 2024-08-31 15:18:46 · 804 阅读 · 0 评论 -
Selenium(5):元素定位的介绍及使用
driver.find_element(By.XPATH,'//*[@id="kw"]').send_keys('猫咪')driver.find_element(By.CLASS_NAME,'s_ipt').send_keys('狗')driver.find_element(By.TAG_NAME,'input').send_keys('猫咪')driver.find_element(By.ID,'kw').send_keys('猫咪')原创 2024-08-31 15:18:14 · 1068 阅读 · 0 评论 -
Selenium(4):浏览器操作API_对浏览器进行基本操作
driver_path = os.path.join(current_path,'../webdriver/chromedriver.exe') # driver路径。current_path = os.path.dirname(os.path.abspath(__file__)) # 当前路径。8.截图:driver.get_screenshot_as_file("c:\\test.bmp”)driver.get_screenshot_as_file('test.png') # 截图。原创 2024-08-31 15:17:13 · 466 阅读 · 0 评论 -
Selenium(3):python+selenium环境安装
那就是利用浏览器原生的API,封装成一套更加面向对象的SeleniumWebDriverAPI,直接操作浏览器页面里的元素,甚至操作浏览器本身(截屏,窗口大小,启动,关闭,安装插件,配置证书之类的)。火狐:http://npm.taobao.org/mirrors/geckodriver/ 或 Firefox的驱动geckodriver 下载地址:https://github.com/mozilla/geckodriver/releases/我的chrome浏览器的版本是:96.0.4664.45。原创 2024-08-31 15:16:43 · 1159 阅读 · 0 评论 -
Selenium(2):selenium IDE工具
它拥有记录功能,能够记录用户执行的操作,并可以导出为可重复使用的脚本。官方网址:http://www.firefox.com.cn/download/#more,一般下载延长版,这个版本selenium基本都能用,最新版本的火狐,selenium会报错。方式一:selenium官网地址:http://www.seleniumhq.org/download/ 下载seleniumIDE插件然后安装;4、点击REC按钮,开始录制,录制完毕后在点击REC停止录制,跳出窗口后,输入测试项目名;原创 2024-08-31 15:16:10 · 482 阅读 · 0 评论 -
Selenium(1):selenium的介绍
是最新版的selenium工具,提供了许多功能,包括一套组织性更好、面向对象的API,并克服了许多在之前selenium1版本中测试的局限性。node会发送配置信息到hub,hub记录并跟踪每一个node的配置信息,同时hub会接受到即将被执行的测试用例及其相关信息,并通过这些信息自动选择可用的且符合浏览器与平台搭配要求的node,node被选中后,测试用例所调用的selenium命令就会被发送到hub,hub再将这些命令发送到指定给该测试用例的node,之后由node执行测试。原创 2024-08-31 15:15:32 · 593 阅读 · 0 评论