【python selenium - web自动化环境搭建】教程文章相关的互联网学习教程文章

Selenium---Python3---常见方法【代码】

#coding = utf-8from selenium import webdriver import timeclass driver_1(object):#生成一个对象def __init__(self):self.driver = webdriver.Chrome("D:\chromedriver_win32\chromedriver.exe")def driver_size(self):self.driver.get(https://www.baidu.com)#返回元素的尺寸(size)size = self.driver.find_element_by_css_selector(#kw[name="wd"]).sizetime.sleep(3)self.driver.close()return sizedef driver_text(self):...

【Python3 爬虫】U38_selenium中的WebElement元素【代码】

目录1.介绍2.实战演练 1.介绍 from selenium.webdriver.remote.webelement import WebElement类是每个获取出来的元素的所属类。 有一些常用的属性: get_attribute:这个标签的某个属性的值。 screentshot:获取当前页面的截图。这个方法只能在driver上使用。 driver的对象类,也是继承自WebElement。 如果想要了解更多的应用可以查看相关源码 2.实战演练 from selenium import webdriver# chromedriver的绝对路径 driver_path = r...

selenium3+python3学习——构建测试套件【代码】

1、按顺序执行from selenium import webdriver import unittest import timeclass BaiduTest(unittest.TestCase):@classmethoddef setUpClass(cls):cls.driver = webdriver.Chrome()cls.driver.maximize_window()url = http://www.baidu.comcls.driver.get(url)cls.driver.implicitly_wait(30)@classmethoddef tearDownClass(cls):cls.driver.quit()def test_baidu_news(self):self.driver.find_element_by_link_text("新闻").clic...

Python+Selenium进阶版(八)- Python自定义封装一个简单的Log类【图】

目标:如何写一个Python日志类,用来输出不同级别的日志信息到本地文件夹下的日志文件里。练习场景:我们需要封装一个简单的日志类,主要有以下内容:1.生成的日志文件格式是 年月日分秒.log2.生成的XXX.log文件存储在项目根目录下Logs文件夹下3.这个日志类,支持INFO,ERROR两种日志级别4.日志里,每行日志输出,时间日期+执行类名称+日志级别+日志描述解决思路:1.在根目录下新建一个Logs的文件夹,获取这个Log的相对路径;2.日志...

Python+Selenium进阶版(七)- Python中字符串切割操作【图】

目标:Python中字符串切割操作。在Python中自带的一个切割方法split(),这个方法不带参数,就默认安卓空格去切割字段,如果带参数,就按照参数去切割。练习场景:百度搜索“selenium”,查看找到了多少个结果,我们需要单独摘取出这个数字。具体代码:# coding=utf-8 import time from selenium import webdriver from selenium.webdriver.common.keys import Keysclass GetSubString(object):def get_search_result(self):driver ...

python:结合selenium写一个登录的装饰器,实现解耦【图】

每次写用例,有个前置条件,都会写上已登录。但是Web自动化,如何实现已登录的功能呢,有写成一个函数在每个用例执行前调用一次的,也有利用前置条件如:setup,__init__等方法来解决登录的,我这里决定专门写个登录的装饰器来实现登录的功能。

Python+Selenium进阶版(四)-封装一个自己的类-浏览器引擎类

目标:如何去封装几个简单的Selenium方法到我们自定义的类,这次我们编写一个类,叫浏览器引擎类,通过更改一个字符串的值,利用if语句去判断和控制启动那个浏览器。暂时支持三大引擎:IE,Chrome,Firefox练习场景:在test1这个包下新建一个browser_engine.py文件,然后在另外一个包下新建一个test.py文件去测试这个浏览器引擎类是否工作正常。这个浏览器引擎类,我们一开始写简单一点,只写启动浏览器。browser_engine.py代码:# c...

Python+Selenium进阶版(三)- 二次封装Selenium中几个方法【图】

目标:学习二次封装。把常用的几个webdriver的方法封装到自己写的几个类中器,这个封装过程叫二次封装Selenium方法。我们把打开站点,浏览器前进和后退,关闭和退出浏览器这个方法封装到一个新写的类中去。按照如下层次结构在PyCharm中新建两个包和两个.py文件: 上图,baidu_search.py是我们编写测试脚本的python文件,具体测试代码写在这个文件。包test1下的basepage.py文件是这次我们介绍的二次封装selenium方法而新建的。注意:...

Python+Selenium练习(三十)- 获取页面元素的href属性【图】

目标:通过Selenium获取页面元素的某一个属性。一个元素可能有多个属性,例如class,id,name,text,href,value等。练习场景:找出当前页面的所有超链接。例:打印出百度首页所有包含href的元素的链接。具体代码:# coding = utf-8 import time from selenium import webdriverdriver = webdriver.Chrome() driver.maximize_window() driver.implicitly_wait(6) driver.get("https://www.baidu.com") time.sleep(1)for link in driver...

Python+Selenium练习(二十九)- 获取当前页面全部图片信息【图】

目标:获取当前页面全部的图片信息,图片信息可能包括图片名称、图片大小等。具体代码:# coding = utf-8 import time from selenium import webdriverdriver = webdriver.Chrome() driver.maximize_window() driver.implicitly_wait(6) driver.get("http://news.baidu.com") time.sleep(1)for image in driver.find_elements_by_tag_name("img"):print(image.text)print(image.size)print(image.tag_name) 运行结果:发现没有图片...

Python+Selenium练习(二十六)- 多窗口之间切换

如何处理driver在多个窗口之间切换?有时候会出现这样的情况,在一个页面A点击一个链接,会触发在新Tab或者新窗口打开页面B,由于之前的driver实例对象在页面A,但是接下来的脚本是在操作页面B的元素,这样就造成了找不到元素的报错。通过selenium中swich_to.window()方法来处理这个问题。练习场景:打开百度新闻(页面A),点击热点新闻中第一个新闻链接,会在第二个窗口打开这个新闻的具体详情页(页面B),测试需要去判断你点击这...

Python+Selenium练习(二十二)-组合键-全选文字

练习场景:在百度首页,利用快捷键Ctrl+A全选具体代码:# coding=utf-8from selenium import webdriver from selenium.webdriver.common.keys import Keys import timedriver = webdriver.Chrome() driver.maximize_window() driver.get(https://www.baidu.com/) driver.find_element_by_tag_name(body).click() driver.find_element_by_tag_name(body).send_keys(Keys.CONTROL+a) print(页面已全选。)参考文章:https://blog.csdn...

Python+Selenium练习(二十)-验证控件是否被选中

练习场景:验证百度登录框里面的【下次自动登录】有没有被默认勾选。具体代码:# coding=utf-8from selenium import webdriver import time# config driver = webdriver.Chrome() url = https://baidu.com# 方法一:点击登录 def press_login():login = driver.find_element_by_xpath("//*[@id=u1]/a[8]")login.click()# 方法二:点击用户名登录 def press_login_by_account():LoginByAccount = driver.find_element_by_xpath("//*...

python+selenium元素定位02——层级定位【代码】【图】

层级定位 1、定位一组对象 find_elements()举例: current = os.getcwd() chrome_driver_path =os.path.join(current,../webdriver/chromedriver) page_path = os.path.join(current,../pages/element_samples.html) #本地html文件 driver = webdriver.Chrome(executable_path=chrome_driver_path)driver.get(file://+page_path) # driver.implicitly_wait(20) elems = driver.find_elements(By.XPATH,//*/input[@type="radio"])...

python+selenium元素定位03——自动化常见场景处理【代码】【图】

1、js弹窗 三种弹出框: 1) alert(一个按钮) 2) confirm(两个确认,取消) 3) prompt(两个按钮+输入框) 4) 切换到弹框: switch_to.alert() 弹窗的方法: 1)text获取弹框文本 2)accept()确认 3)dimiss()取消 4)send_keys() prompt弹框输入字符。其他两种会报错 举例:value = driver.switch_to.alertvalue.alert() #跳转到js...

自动化 - 相关标签