不同于“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)相关推荐

  1. Selenium的PO模式(Page Object Model)|(Selenium Webdriver For Python)

    Selenium的PO模式(Page Object Model)|(Selenium Webdriver For Python) 研究Selenium + python 自动化测试有近两个月了,不能说 ...

  2. 使用Python在Selenium WebDriver中获取WebElement的HTML源代码

    我正在使用Python绑定来运行Selenium WebDriver. from selenium import webdriver wd = webdriver.Firefox() 我知道我可以抓住 ...

  3. python webdriver点击指令_测开系列Selenium Webdriver Python(20)--Webdriver运行原理

    Webdriver运行原理 转帖请注明出处!谢谢 在开发Webdriver的自动化脚本过程中,Webdriver后台在创建WebDriver实例的过程中,先确认浏览器的原生组件中是否存在可匹配的版本. ...

  4. js下拉 selenium_如何使用Python / Selenium webdriver处理Angularjs / Javascript下拉列表?

    我想在Chromium浏览器上使用 Python和Selenium webdriver自动执行一些浏览器任务.我的python脚本已经能够登录,导航到子页面/做一些点击,并在表单中插入一些东西. 我的 ...

  5. Selenium WebDriver + python 自动化测试框架

    目标 组内任何人都可以进行自动化测试用例的编写 完全分离测试用例和自动化测试代码,就像写手工测试用例一下,编写excel格式的测试用例,包括步骤.检查点,然后执行自动化工程,即可执行功能自动化测试用例 ...

  6. python调用selenium的get_Python – selenium webdriver在循环中停留在.get()

    我有一个Python代码片段,它使用Selenium Webdriver来循环一些历史性的棒球赔率.代码的第一部分旨在从调度表(包含大约57个需要循环的页面)中获取所有单独的游戏URL,并将它们存储在 ...

  7. python 模拟浏览器selenium_使用python selenium webdriver模拟浏览器

    原博文 2016-12-18 18:26 − selenium是进行web自动化测试的一个工具,支持C,C++,Python,Java等语言,他能够实现模拟手工操作浏览器,进行自动化,通过webdri ...

  8. Python Selenium Webdriver常用方法总结

    Python Selenium Webdriver常用方法总结 常用方法函数 加载浏览器驱动: webdriver.Firefox() 打开页面:get() 关闭浏览器:quit() 最大化窗口: m ...

  9. selenium webdriver (python)的基本用法一

    阅在线 AIP 文档: http://selenium.googlecode.com/git/docs/api/py/index.html 目录 一.selenium+python 环境搭建..... ...

  10. Python Selenium.WebDriver 最强详解页面加载策略

    Python Selenium.WebDriver 网页加载策略『详细』 文章目录 Python Selenium.WebDriver 网页加载策略『详细』 一.网页加载策略

最新文章

  1. 状态和面向对象编程——1.定位步骤
  2. 编写高质量代码改善C#程序的157个建议——建议86:Parallel中的异常处理
  3. JS判断是否选中的是表格内当前选中的那一行
  4. ios保存gif到相册_iOS相册中的GIF图片的读取与保存
  5. 程序员总结的:最没有学习效率的 5 种方法!你在用其中哪一种?
  6. Flutter抖动动画、颤抖动画、Flutter文字抖动效果
  7. bash脚本切换管理员_开始为系统管理员使用Bash脚本
  8. 【干货】移动APP测试用例设计实践经验分享
  9. Pray for 京阿尼——愿逝者安息,伤者早日康复
  10. iphone健康数据统计_如何控制哪些应用程序可以访问iPhone的健康数据
  11. 植树节汇报之后的突发奇想
  12. 3、★☛基于STM32的手机通过wifi控LED灯√♠★
  13. caused by: java.lang.outofmemory_hadoop运行java.lang.OutOfMemoryError:java heap space错误。
  14. 中国SCR脱硝催化剂行业竞争现状分析与未来需求预测报告2022-2028年
  15. sql触发器Tigger
  16. MySQL错误:ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
  17. JAVA面试这一篇就够了
  18. matlab基础之变量,matlab基础知识(4):特殊变量
  19. 怎么批量下载美拍主页视频
  20. BPSK,QPSK的C语言仿真

热门文章

  1. java 排序,选择排序、插入排序、冒泡排序
  2. 各种Python简单功能代码
  3. Spring 通过XML配置装配Bean
  4. Linux---用户与用户组管理
  5. Advanced DataStream API Low-latency Event Time Join
  6. .NET程序不需要受SVN版本控制的文件类型
  7. Java开发笔记(一百三十八)JavaFX的箱子
  8. PeopleRank从社交网络中发现个体价值
  9. 有Excel、Tableau、PowerBI都能做数据分析,为什么还要用Python
  10. 【校园电子书城】测试及部署