代码如下: # -*- coding: utf-8 -*- from selenium import webdriver import unittest,time import HTMLTestRunner #引入HTMLTestRunner 包 class Baidu(unittest.TestCase): def setUp(self): self.driver = webdriver.Chrome() self.driver.implicitly_wait(10) self.base_ur…
#coding=utf-8 from selenium import webdriver #实例化一个火狐配置文件 fp = webdriver.FirefoxProfile() #设置各项参数,参数可以通过在浏览器地址栏中输入about:config查看. #设置成0代表下载到浏览器默认下载路径:设置成2则可以保存到指定目录 fp.set_preference("browser.download.folderList",2) #是否显示开始,(个人实验,不管设成True还是False…
#coding=utf-8 from selenium import webdriverimport timedriver = webdriver.Chrome()driver.get("http://www.baidu.com") #class 定位 driver.find_element_by_css_selector(".s_ipt").send_keys("python")driver.find_element_by_css_select…
#导入模块 from selenium import webdriverfrom selenium.webdriver.common.keys import Keys #启动火狐浏览器driver = webdriver.Firefox() #打开urldriver.get("http://www.python.org") #添加断言assert "Python" in driver.title #开始定位elem = driver.find_element_by_…
场景 对分页来说,我们最感兴趣的是下面几个信息 总共有多少页 当前是第几页 是否可以上一页和下一页 代码 下面代码演示如何获取分页总数及当前页数.跳转到指定页数 #coding:utf-8 from selenium import webdriver import time driver = webdriver.Chrome() driver.get("https://segmentfault.com/news") # 获得所有分页的数量 # -2是因为要去掉上一个和下一个 total…
场景 处理frame需要用到2个方法,分别是switch_to_frame(name_or_id_or_frame_element)和switch_to_default_content() 如何理解这个switch_to_frame(name_or_id_or_frame_element)方法呢?可以简单记忆一下,如果这个frame有name和id属性那么就用这两个属性就好,如果没有的话可以先用find_element_by_xxx方法找到这个frame元素,然后把这个元素传进去,这也是可行的.…
public 目录存一些公共模块,供用例调用.login.py 内容如下: # coding=utf-8 import time # login def login(driver): driver.find_element_by_class_name("ui-dialog-close").click() # 关闭弹窗 driver.find_element_by_xpath("//*[@id='topbar_nav']/li[1]/a[1]").click() #…
#coding=utf-8 from selenium import webdriver driver = webdriver.Firefox() driver.implicitly_wait(10) driver.get("http://www.126.com") class Account(object): """docstring for Account""" def __init__(self,username =''…
#coding:utf-8 '''获取测试对象的css属性场景 当你的测试用例纠结细枝末节的时候,你就需要通过判断元素的css属性来验证你的操作是否达到了预期的效果.比如你可以通过判断页面上的标题字号以字体来验证页面的显示是否符合预期.当然,这个是强烈不推荐的.因为页面上最不稳定的就是css了,css变动频繁,而且通过属性也不能直观的判断页面的显示效果,还不如让人为的去看一眼,大问题一望即知. ''' from selenium import webdriver import time driv…
# -*- coding: utf-8 -*- from selenium import webdriver import time import os dr = webdriver.Chrome() file = os.path.abspath("c:\\Temp\\checkbox.html") #获取文件路径 dr.get(file) # 选择所有的checkbox并全部勾上 checkboxes = dr.find_elements_by_css_selector('input…
from selenium import webdriver driver = webdriver.Chrome() driver.get("http://www.baidu.com") # by link 定位 driver.find_element_by_link_text("新闻").click() # by partial link text定位 driver.find_element_by_partial_link_text('新').click driv…
#coding=utf-8import timefrom selenium import webdriverdriver = webdriver.Chrome()driver.get("http://www.baidu.com")time.sleep(5)#id 定位driver.find_element_by_xpath("//input[@id='kw']").send_keys("hello")driver.find_element_by_…
#coding=utf-8from selenium import webdriverdriver = webdriver.Chrome()driver.get("http://www.baidu.com") # 获得输入框尺寸size = driver.find_element_by_id("kw").sizeprint size #返回百度页面底部备案信息 text = driver.find_element_by_id("cp").text…
Python+Selenium自动化总结 1.环境搭建 1.1.安装selenium模块文件 pip install selenium 1.2.安装ChromeDriver驱动 [1]下载安装Chrome浏览器. [2]查看Chrome版本. 点击Chrome菜单"帮助"→"关于Google Chrome",查看Chrome的版本号. [3]下载对应ChromeDriver驱动. 官方网站:https://sites.google.com/a/chromium.or…
Python+Selenium自动化-模拟键盘操作   0.导入键盘类Keys() selenium中的Keys()类提供了大部分的键盘操作方法:通过send_keys()方法来模拟键盘上的按键. # 导入键盘类 Keys() from selenium.webdriver.common.keys import Keys 1.常用的键盘操作: send_keys(Keys.BACK_SPACE):删除键(BackSpace) send_keys(Keys.SPACE):空格键(Space) se…
Python+Selenium自动化-设置等待三种等待方法   如果遇到使用ajax加载的网页,页面元素可能不是同时加载出来的,这个时候,就需要我们通过设置一个等待条件,等待页面元素加载完成,避免出现因为元素未加载导致的错误的出现. WebDriver提供了两种等待类型:显示等待.隐式等待. 1.显示等待:WebDriverWait()类 显示等待:设置一个等待时间和一个条件,在规定时间内,每隔一段时间查看下条件是否成立,如果成立那么程序就继续执行,否则就提示一个超时异常(TimeoutExce…
Python+Selenium自动化-清空输入框.输入内容.点击按钮   1.输入内容 send_keys('valve'):输入内容valve #定位输入框 input_box = browser.find_element_by_id('kw') try: #输入内容:selenium input_box.send_keys('selenium') print('搜索关键词:selenium') except Exception as e: print('fail') #输出内容:搜索关键词:…
Python+Selenium自动化-安装模块和浏览器驱动操作方法 1.安装模块文件 pip install selenium 2.安装浏览器驱动 我们主要用的浏览器驱动有chrome浏览器.firefox浏览器.还有就是无界面的chrome浏览器. 2.1.ChromeDriver驱动 首先,下载安装Chrome浏览器,这个很简单,就不在说明了. 安装ChromeDriver驱动,只有安装ChromeDriver,才能驱动Chrome浏览器完成相应的操作. 2.1.1.相关链接 官方网站:ht…
Python+Selenium自动化 模拟鼠标操作   在webdriver中,鼠标的一些操作如:双击.右击.悬停.拖动等都被封装在ActionChains类中,我们只用在需要使用的时候,导入这个类就可以了. 0.ActionChains类提供的鼠标常用方法: perform():执行所有 ActionChains 中存储的行为. context_click():右击 double_click():双击 drag_and_drop():拖到 move_to_element():鼠标悬停 注意:…
python selenium自动化点击页面链接测试 需求:现在有一个网站的页面,我希望用python自动化的测试点击这个页面上所有的在本窗口跳转,并且是本站内的链接,前往到链接页面之后在通过后退返回到原始页面. 要完成这个需求就必须实现3点: 1. 找到原始页面上面所有的在本窗口内跳转的链接 2. 跳转到目标页面之后,“后退”到原始页面 3. 在原始页面上继续点击后续的链接 首先,要找到页面上的所有链接并不困难.selenium为我们提供了find_elements_by_tag_name方法…
背景: Dnf的周年庆活动之一,游戏在6月22日 06:00~6月23日 06:00之间登陆过游戏后可以于6月25日 16:00~7月04日 06:00领取奖励 目标:连续四天自动运行脚本,自动领取所有奖励,每天领取一个 进度:当前未知登陆后是否还有选择区服弹窗,故当前仅处理到成功点击为止 思路: python+selenium自动化点击,程序定时运行 实现方法:timer_exerice.py编写死循环定时器,30s判断一次是否到达相应时间,若到达时间,开始执行selenium_exerice…
Python+selenium 自动化-启用带插件的chrome浏览器,调用浏览器带插件,浏览器加载配置信息.   本文链接:https://blog.csdn.net/qq_38161040/article/details/87178444 正常的话我们启用的chrome浏览器是不带插件的,如果你能登陆chrome的话,你会发现登陆信息也没有,还有不管你怎样设置每次新打开的chrome都是默认设置的. 我们正常启动的浏览器每次都要加载配置文件的,一般的配置文件就是在user data里,插件就…
Python+Selenium自动化-定位一组元素,单选框.复选框的选中方法   之前学习了8种定位单个元素的方法,同时webdriver还提供了8种定位一组元素的方法.唯一区别就是在单词element后面增加了一个s表示复数: 0.定位一组元素 find_elements_by_id('') find_elements_by_id_by_class_name('') find_elements_by_tag_name('') find_elements_by_link_text('') fin…
Python+Selenium自动化-设置浏览器大小.刷新页面.前进和后退   1.设置浏览器大小 maximize_window():设置浏览器大小为全屏 set_window_size(500,500):设置浏览器分辨率为:500×500 from selenium import webdriver import time browser = webdriver.Chrome() browser.maximize_window() #设置浏览器大小:全屏 browser.get('https…
Python+Selenium自动化-获取页面信息   1.获取页面title title:获取当前页面的标题显示的字段 from selenium import webdriver import time browser = webdriver.Chrome() browser.get('https://www.baidu.com') #打印网页标题 print(browser.title) #输出内容:百度一下,你就知道 2.获取页面URL current_url:获取当前页面的URL fr…
Python+Selenium自动化-定位页面元素的八种方法   本篇文字主要学习selenium定位页面元素的集中方法,以百度首页为例子. 0.元素定位方法主要有: id定位:find_element_by_id(' ') name定位:find_element_by_name(' ') class定位:find_element_by_class_name(' ') tag定位:find_element_by_tag_name(' ') link定位:find_element_by_link_…
2.1 操作元素基本方法 前言前面已经把环境搭建好了,从这篇开始,正式学习selenium的webdriver框架.我们平常说的 selenium自动化,其实它并不是类似于QTP之类的有GUI界面的可视化工具,我们要学的是webdriver框架的API.本篇主要讲如何用Python调用webdriver框架的API,对浏览器做一些常规的操作,如打开.前进.后退.刷新.设置窗口大小.截屏.退出等操作. 2.1.1 打开网页 1.从selenium里面导入webdriver模块2.打开Firefox…
需求:使用python selenium来自动测试一个网站注册的流程. 假设这个网站的注册流程分为三步,需要提供比较多的信息: 在这个流程里面,需要用户填入信息.在下拉菜单中选择.选择单选的radio button.多选框等等比较复杂的页面元素操作. 在开始做的时候,我会按照一个用户真正的填写习惯,参照页面,一步步的定义每个步骤应该进行怎样的操作,我需要查看每一个页面元素的属性,决定选择一个合理的选项,然后再用代码自动化这样的操作.但是反思一下,其实这样的实现方法并不符合一个计算机自动测试的习惯…
(开开心心每一天~ ---虫瘾师) 直接入正题---Python selenium自动控制浏览器对网页的数据进行抓取,其中包含按钮点击.跳转页面.搜索框的输入.页面的价值数据存储.mongodb自动id标识等等等. 1.首先介绍一下 Python selenium ---自动化测试工具,用来控制浏览器来对网页的操作,在爬虫中与BeautifulSoup结合那就是天衣无缝,除去国外的一些变态的验证网页,对于图片验证码我有自己写的破解图片验证码的源代码,成功率在85%. 详情请咨询QQ群--6070…
很多刚做自动化的小伙伴,会在ChromeDriver版本选择时犯难,看来大家都被坑过,真正掌握独门绝技,都不是难事儿. 看好了主要步骤就4部 1.确定谷歌浏览器版本 2.找到谷歌浏览器版本与ChromeDriver版本对应关系 3.下载ChromeDriver版本 4.解压并放至正确的位置 5.验证Selenium调用ChromeDriver 找到已安装的谷歌浏览器版本 自己的系统配置(win7 64位,谷歌浏览器64位(70.0)) 查找谷歌浏览器版本与ChromeDriver版本的对应关系…