
Python+Selenium
Python+Selenium
安果移不动
精通Android,Swift,Flutter,Python,Php,按键精灵,易语言。曾为华为录制精品课程,拥有资质:按键精灵顶级证书;
产品秀:https://www.anguomob.com
B站:https://space.bilibili.com/482453235
展开
-
Selenium自动化测试之处理get_cookies保存的cookie_Python 一行代码 原生cookie转dict
存self.driver.get("http://tpi.zhonju.cn")# 获取cookieself.driver.get_cookies()# 获取name=value格式的cookiecookie = [item["name"] + "=" + item["value"] for item in self.driver.get_cookies()]# join()连接字...原创 2019-08-11 05:31:46 · 735 阅读 · 0 评论 -
WebDriver--定位元素的8种方式
在UI层面的自动化测试开发中,元素的定位与操作是基础,也是经常遇到的困难所在。webdriver提供了8种定位:1. id定位:find_element_by_id("id值");id属性是唯一的driver.find_element_by_id("loginName").clear()#用户名输入框的id属性driver.find_element_by_id("loginName")...原创 2019-08-11 03:37:51 · 304 阅读 · 0 评论 -
DeprecationWarning: use options instead of chrome_options
我们只需要chrome_options改成options即可,该问题应该在最近的版本更改的目前我这边使用的是selenium==3.9.0,有兴趣的可以去看下官方文档,那个版本开始做的此项的修改。...原创 2019-08-11 03:32:58 · 15618 阅读 · 1 评论 -
CentOS + Selenium+Chrome环境安装
# 以Chrome为例# 安装seleniumpip3 install selenium# 安装chrome-browserwget https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm --no-check-certificate sudo yum install google-ch...原创 2019-08-11 02:56:53 · 680 阅读 · 0 评论 -
python中查看 selenium版本号
pip show selenium原创 2019-06-27 21:06:00 · 1068 阅读 · 0 评论 -
python Selenium is not clickable at point (855, 15). Other element would receive the click
按钮不让点击。。出现蒙层以后才点击如果操作呢 # 滑动到顶部 time.sleep(2) js = "window.scrollTo(0,0)" driver.execute_script(js) print("滑动结束") time.sleep(2) from selenium.webdriver import ActionCh...原创 2019-06-25 21:00:41 · 1281 阅读 · 0 评论 -
pychrom 从安装到运行脚本的环境安装
pychrom下载 下载地址https://download-cf.jetbrains.com/python/pycharm-professional-2018.3.2.exe激活流程使用前请将“0.0.0.0 account.jetbrains.com”添加到hosts文件中修改流程C:\Windows\System32\drivers\etc复制出来host文件把如上东西粘贴到h...原创 2019-06-14 04:38:02 · 1619 阅读 · 0 评论 -
selenium+webdriver错误...exceptions.ElementNotInteractableException: Message: Element is not visible处理
首先,得排除是否是定位的xpath路径有问题,如果是用xpath定位,其中用@class属性来定位,也会报这个错误(特别是class中含有复合类的定位)。下面用备份软件删除任务的弹出div区中的确认按钮定位为例:bElement cf_button=driver.findElement(By.xpath("//div[@class='ui-dialog-buttonset']"));用上面...原创 2019-04-01 18:26:49 · 838 阅读 · 0 评论 -
\n问题 Runtime.evaluate threw exception: SyntaxError: Invalid or unexpected token
文本中的\n会被替换成真的换行而真的换行在语句中是错误的有需要文本换行那就是把\n换成\\n就没问题了 bdy_content=''; with open(bdy_text,'r',encoding='utf-8') as f: line=f.read() while(line): bdy_content=lin...原创 2019-03-24 22:06:26 · 1867 阅读 · 0 评论 -
python selenium sendkeys 效率低
js = "$('#bdy_content').val(%s);"%(bdy_content) driver.execute_script(js)可以使用js的方法向input或者textarea传值 这样速度基本上是秒渲染,,不然这个速度 真的难为人如果bdy_contnet是个数组的话可以使用 js = "$('#bdy_content').val(%s.joi...原创 2019-03-07 02:26:47 · 1707 阅读 · 0 评论 -
selenium python 设置窗口 全屏 自定义窗口大小
1. 窗口最大化broswer.maximize_window()2. 设置窗口大小broswer.set_window_size(1366,768)分辨率1366 x 768原创 2019-02-19 16:22:14 · 4290 阅读 · 0 评论 -
python selenium 如何使用post
Selenium是一款比较常见的web应用自动化测试系统,它支持多种浏览器,多用于在爬虫中解决JavaScript渲染问题。由于selenium原生代码似乎是不带post方式的,笔者会以headless firefox模式为例,简单谈一下在selenium下如何进行post数据。 第三方库以seleniumrequests为例,这个库是一个selenium扩展,使得selenium下也...原创 2019-02-03 16:34:03 · 26633 阅读 · 7 评论 -
【Python+selenium】浏览器后台运行 隐藏窗口执行
拿Chrom浏览器举例,正常我们是用webdriver.Chrome()调用浏览器后台运行只需要在调用前加上亮行代码然后在调用浏览器的代码参数里引用我们设置的option就好了option=webdriver.ChromeOptions()option.add_argument('headless') # 设置optiondriver = webdriver.Chrome(chrom...原创 2019-02-03 02:30:21 · 6894 阅读 · 6 评论 -
python+selenium 对于iframe的切入切出
# coding=utf-8from selenium import webdriverfrom selenium.webdriver.common.action_chains import ActionChainsfrom selenium.webdriver.common.keys import Keysimport timeimport osmydriver=webdrive...原创 2019-01-12 06:06:54 · 989 阅读 · 0 评论 -
python chromedriver.exe下载
http://npm.taobao.org/mirrors/chromedriver/原创 2018-12-29 02:08:30 · 904 阅读 · 0 评论 -
Python爬虫:selenium打开新窗口和多窗口切换
上说可以通过发送按键事件触发,比如ctrl+T,不过我没成功,使用了js打开新窗口的方式代码示例# -*- coding: utf-8 -*-# @File : switch_tab.py# @Date : 2018-07-27# @Author : Peng Shiyuimport timefrom selenium import webdriverbro...原创 2018-12-09 19:17:27 · 778 阅读 · 0 评论 -
【自动化专题】selenium如何轻松搞定文件上传
使用selenium做自动化时,我们经常会遇到的一个让人头疼的问题就是文件上传。问题的难点在于selenium无法识别并操作Windows窗口,若我们可以绕过弹出框直接把文件信息上传给选择按钮,难点就解决了。以下是常见页面形式:分析HTML,发现无论是普通前台还是Extjs,他们的html有一个共同的特点,具有以下代码: <input ..... type="fi...原创 2018-12-04 17:33:44 · 283 阅读 · 0 评论 -
原 Python+Selenium练习篇之13-获取当前页面的URL
本文介绍如何通过webdriver方法获取当前测试页面的URL。获取当前URL有什么用处呢,一般URL可以帮助我们判断跳转的页面是否正确,或者URL中部分字段可以作为我们自动化测试脚本期待结果的一部分。相关脚本代码如下:# coding=utf-8import timefrom selenium import webdriver driver = webdriver.Chro...原创 2018-12-04 16:22:53 · 3613 阅读 · 0 评论 -
Python+Selenium练习篇之27-多窗口之间切换
本文来介绍如何处理driver在多窗口之间切换,想一下这样的场景,在页面A点击一个连接,会触发在新Tab或者新窗口打开页面B,由于之前的driver实例对象在页面A,但是你接下来的脚本是操作页面B的元素,这样就造成了找不到元素的报错。本来介绍selenium中switch_to.window()方法来处理这个问题。测试场景:打开百度新闻(页面A),点击热点新闻中第一个新闻链接(一般是国家领导人...原创 2018-11-12 17:00:08 · 296 阅读 · 0 评论 -
Selenium+Python 判断元素是否显示
try: elm = waitByTime10.until(lambda x: x.find_element_by_name("captcha")) if not elm.is_displayed(): login(waitByTime10, waitByTime30) return except:...原创 2018-11-02 16:07:51 · 3833 阅读 · 0 评论 -
python 模拟键盘输入
一、PyUserInput安装python3.5的PyMouse和PyKeyboard模块都集成到了PyUserInput模块中。在python3.5中,直接安装PyUserInput模块即可PyUserInput模块安装前需要安装pywin32和pyHook模块pywin32模块默认已安装没有安装 或者不会安装的小伙伴 看我这个https://blog.csdn.net/mp6...原创 2018-11-02 11:46:45 · 7162 阅读 · 2 评论 -
Python+Selenium框架设计篇之4-框架内封装日志类和浏览器引擎类
本文开始一步一步介绍,如何创建自己的第一个自动化测试框架。这一篇,我们介绍,如何封装自己的日志类和浏览器引擎类。相关步骤:1. 打开PyCharm,创建如下格式的项目层级结构,文件名称和我保持一样;2. 相关文件代码如下配置文件config.ini相关设计如下: # this is config file, only store browser type and s...原创 2018-10-27 02:38:17 · 386 阅读 · 0 评论 -
Python+Selenium框架设计篇之3-什么是POM
前面我们介绍了Python中的单元测试框架unittest,以后我们所有的测试类文件,都采用unittest来辅助我们进行debug和脚本开发。搞定了debug机制和确定了unittest来进行创建和管理我们的自动化测试脚本,接下来我们来考虑下,框架设计中一种很普遍的设计思想-POM(Page Object Model) POM,中文字母意思是,页面对象模型,POM是一种...原创 2018-10-27 02:33:04 · 422 阅读 · 0 评论 -
Python+Selenium练习篇之2-利用ID定位元素
在前面一篇文章,我们介绍了如何摘取页面字段,通过正则进行匹配符合要求的字段。如果感觉有点困难,不能立马理解,没有关系。把字符串摘取放到第一篇,是因为自动化测试脚本,经常要利用字符串操作,字符串切割,查找,匹配等手段,得到新的字符串或字符串数组,然后根据新得到的字符串进行判断用例是否通过。 本篇介绍如何通过元素节点信息ID来定位该元素,使用id来定位元素虽然效率要高于XPath,但是实...原创 2018-10-27 02:30:53 · 272 阅读 · 0 评论 -
Python+Selenium练习篇之1-摘取网页上全部邮箱
练习场景:在某一个网页上有些字段是我们感兴趣的,我们希望摘取出来,进行其他操作。但是这些字段可能在一个网页的不同地方。例如,我们需要在关于百度页面-联系我们,摘取全部的邮箱。思路拆分:1. 首先,需要得到当前页面的source内容,就像,打开一个页面,右键-查看页面源代码。2. 找出规律,通过正则表达式去摘取匹配的字段,存储到一个字典或者列表。3. 循环打印字典或列表中内容,Pyt...原创 2018-10-27 02:28:00 · 467 阅读 · 0 评论 -
Selenium2+Python--等待页面元素加载(wait)
在进行web自动化的时候,受页面加载速度影响比较大,常常会报element not found的错误。selenium1.0 中提供了selenium.isElementPresent(Xpath),用于判断xpath是否存在,存在就执行操作,不存在就可以等待一定的时间段。在webDriver中提供了WebDriverWait类,可以智能的等待页面元素加载完成再执行操作。 利用这个类就可以...原创 2018-10-11 17:45:50 · 2894 阅读 · 0 评论