博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Selenium WebDriver控制操作(Python)
阅读量:6954 次
发布时间:2019-06-27

本文共 1084 字,大约阅读时间需要 3 分钟。

不同于“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

你可能感兴趣的文章
selecter模块默认使用epoll 实现IO多路复用,展示单线程的并发效果
查看>>
Fall 2018 IS542 Final
查看>>
PHP下载压缩包文件
查看>>
【idea】Springboot整合jpa
查看>>
Android之开发杂记(三)
查看>>
Struts2之param标签的使用
查看>>
bzoj1497(最小割)
查看>>
【转】C#中将JSon数据转换成实体类,将实体类转换成Json
查看>>
在windows上使用ssh秘钥连接git服务器
查看>>
STL 之容器适配器
查看>>
Redis集群master选举时长测试
查看>>
linux IPC对象的持续性的说明
查看>>
创建带返回值的函数
查看>>
CS799 - Data-Driven Development with Python
查看>>
shell 脚本 变量使用,取消一个变量,echo
查看>>
Java中的synchronized、volatile、ReenTrantLock、AtomicXXX
查看>>
mysql语句判断一天操作记录的个数
查看>>
reduce|sum
查看>>
WCF Ria Services
查看>>
mysql之 mysql 5.6不停机主从搭建(一主一从基于GTID复制)
查看>>