Selenium WebDriver控制操作(Python)
不同于“HTML元素定位”那一篇,本篇主要记录selenium的各种控制操作。
1、修改页面元素属性。
需求场景:以<a>标签为例,当我们不希望新开tab或窗口打开链接时,就需要修改<a>的target属性为_self。
解决思路:似乎webdriver并不能改变页面的原始信息,但却提供了可以操作javascript脚本的接口,通过javascript可以顺利修改元素属性。
具体实现:driver.execute_script(script, *args)
1 def execute_script(self, script, *args): 2 """ 3 Synchronously Executes JavaScript in the current window/frame. 4 5 :Args: 6 - script: The JavaScript to execute. 7 - \*args: Any applicable arguments for your JavaScript. 8 9 :Usage: 10 driver.execute_script('document.title') 11 """ 12 if len(args) == 1: 13 converted_args = args[0] 14 else: 15 converted_args = list(args) 16 converted_args = list(args) 17 return self.execute(Command.EXECUTE_SCRIPT, 18 {'script': script, 'args':converted_args})['value'
eg: browse.execute_script("arguments[0].target='_self'", a)
2、不能使用动态id进行元素定位。
动态id不能用于元素定位,可以使用class等属性,或者将xpath内id相关的内容更改为其他属性。
另外,使用IE浏览器时,要将下图中的所有区域,停用保护模式。
转载于:https://www.cnblogs.com/kevin1201/p/4515113.html
Selenium WebDriver控制操作(Python)相关推荐
- Selenium的PO模式(Page Object Model)|(Selenium Webdriver For Python)
Selenium的PO模式(Page Object Model)|(Selenium Webdriver For Python) 研究Selenium + python 自动化测试有近两个月了,不能说 ...
- 使用Python在Selenium WebDriver中获取WebElement的HTML源代码
我正在使用Python绑定来运行Selenium WebDriver. from selenium import webdriver wd = webdriver.Firefox() 我知道我可以抓住 ...
- python webdriver点击指令_测开系列Selenium Webdriver Python(20)--Webdriver运行原理
Webdriver运行原理 转帖请注明出处!谢谢 在开发Webdriver的自动化脚本过程中,Webdriver后台在创建WebDriver实例的过程中,先确认浏览器的原生组件中是否存在可匹配的版本. ...
- js下拉 selenium_如何使用Python / Selenium webdriver处理Angularjs / Javascript下拉列表?
我想在Chromium浏览器上使用 Python和Selenium webdriver自动执行一些浏览器任务.我的python脚本已经能够登录,导航到子页面/做一些点击,并在表单中插入一些东西. 我的 ...
- Selenium WebDriver + python 自动化测试框架
目标 组内任何人都可以进行自动化测试用例的编写 完全分离测试用例和自动化测试代码,就像写手工测试用例一下,编写excel格式的测试用例,包括步骤.检查点,然后执行自动化工程,即可执行功能自动化测试用例 ...
- python调用selenium的get_Python – selenium webdriver在循环中停留在.get()
我有一个Python代码片段,它使用Selenium Webdriver来循环一些历史性的棒球赔率.代码的第一部分旨在从调度表(包含大约57个需要循环的页面)中获取所有单独的游戏URL,并将它们存储在 ...
- python 模拟浏览器selenium_使用python selenium webdriver模拟浏览器
原博文 2016-12-18 18:26 − selenium是进行web自动化测试的一个工具,支持C,C++,Python,Java等语言,他能够实现模拟手工操作浏览器,进行自动化,通过webdri ...
- Python Selenium Webdriver常用方法总结
Python Selenium Webdriver常用方法总结 常用方法函数 加载浏览器驱动: webdriver.Firefox() 打开页面:get() 关闭浏览器:quit() 最大化窗口: m ...
- selenium webdriver (python)的基本用法一
阅在线 AIP 文档: http://selenium.googlecode.com/git/docs/api/py/index.html 目录 一.selenium+python 环境搭建..... ...
- Python Selenium.WebDriver 最强详解页面加载策略
Python Selenium.WebDriver 网页加载策略『详细』 文章目录 Python Selenium.WebDriver 网页加载策略『详细』 一.网页加载策略
最新文章
- 状态和面向对象编程——1.定位步骤
- 编写高质量代码改善C#程序的157个建议——建议86:Parallel中的异常处理
- JS判断是否选中的是表格内当前选中的那一行
- ios保存gif到相册_iOS相册中的GIF图片的读取与保存
- 程序员总结的:最没有学习效率的 5 种方法!你在用其中哪一种?
- Flutter抖动动画、颤抖动画、Flutter文字抖动效果
- bash脚本切换管理员_开始为系统管理员使用Bash脚本
- 【干货】移动APP测试用例设计实践经验分享
- Pray for 京阿尼——愿逝者安息,伤者早日康复
- iphone健康数据统计_如何控制哪些应用程序可以访问iPhone的健康数据
- 植树节汇报之后的突发奇想
- 3、★☛基于STM32的手机通过wifi控LED灯√♠★
- caused by: java.lang.outofmemory_hadoop运行java.lang.OutOfMemoryError:java heap space错误。
- 中国SCR脱硝催化剂行业竞争现状分析与未来需求预测报告2022-2028年
- sql触发器Tigger
- MySQL错误:ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
- JAVA面试这一篇就够了
- matlab基础之变量,matlab基础知识(4):特殊变量
- 怎么批量下载美拍主页视频
- BPSK,QPSK的C语言仿真