Python教程

python selenium自动化测试模块

本文主要是介绍python selenium自动化测试模块,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

驱动下载地址

https://registry.npmmirror.com/binary.html?path=chromedriver/

pip安装

pip install selenium

样例

#-*- coding:utf-8 -*-
import platform
import time
from selenium import webdriver
from selenium.webdriver.common.keys import Keys

headers='''user-agent="MQQBrowser/26 Mozilla/5.0 (Linux; U; Android 2.3.7; zh-cn; MB200 Build/GRJ22;
 CyanogenMod-7) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1"'''

base_url="https://www.baidu.com"

options = webdriver.ChromeOptions()
options.add_argument(headers)
# 浏览器不提供可视化页面. linux下如果系统不支持可视化不加这条会启动失败
if platform.system().upper()=="LINUX":
    path="/home/boye/project/seleniumCode/chromedriver"
    options.add_argument('--headless') 
    driver = webdriver.Chrome(executable_path=path,chrome_options=options)
else:
    driver = webdriver.Chrome(chrome_options=options)
    
driver.implicitly_wait(10) # seconds
driver.get(base_url) #打开网页
print(driver.title)
time.sleep(2)
driver.quit()

元素操作

#元素定位
find_element                         #通过指定方法查找指定的一个元素(需指定两个参数)
find_element_by_class_name           #通过Class name查找指定的一个元素
find_element_by_css_selector         #通过CSS选择器查找指定的一个元素
find_element_by_id                   #通过ID查找指定的一个元素
find_element_by_link_text            #通过链接文本获取指定的一个超链接(精确匹配)
find_element_by_name                 #通过Name查找指定的一个元素
find_element_by_partial_link_text    #通过链接文本获取指定的一个超链接(模糊匹配)
find_element_by_tag_name             #通过标签名查找指定的一个元素
find_element_by_xpath                #通过Xpath语法来指定的一个元素
find_elements                        #通过指定方法查找所有元素(需指定两个参数)
find_elements_by_class_name          #通过Class name查找所有元素
find_elements_by_css_selector        #通过CSS选择器查找所有元素
find_elements_by_id                  #通过ID查找所有元素
find_elements_by_link_text           #通过链接文本获取所有超链接(精确匹配)
find_elements_by_name                #通过Name查找所有元素
find_elements_by_partial_link_text   #通过链接文本获取所有超链接(模糊匹配)
find_elements_by_tag_name            #通过标签名查找所有元素
find_elements_by_xpath               #通过Xpath语法来查找所有元素


#控制浏览器操作
driver.set_window_size(480, 800) #控制浏览器窗口大小
driver.back() # 后退
driver.forward() # 前进
driver.refresh() # 刷新

#点击和输入
driver.find_element_by_id("kw").clear() # 清除文本 
driver.find_element_by_id("kw").send_keys("seleniumm") # 模拟按键输入
driver.find_element_by_id("kw").send_keys(Keys.BACK_SPACE) # 删除多输入的一个 m 
driver.find_element_by_id("su").click() # 单击元素

#常用的键盘操作
send_keys(Keys.BACK_SPACE) 删除键(BackSpace)
send_keys(Keys.SPACE) 空格键(Space)
send_keys(Keys.TAB) 制表键(Tab)
send_keys(Keys.ESCAPE) 回退键(Esc)
send_keys(Keys.ENTER) 回车键(Enter)
send_keys(Keys.CONTROL,'a') 全选(Ctrl+A)
send_keys(Keys.CONTROL,'c') 复制(Ctrl+C)
send_keys(Keys.CONTROL,'x') 剪切(Ctrl+X)
send_keys(Keys.CONTROL,'v') 粘贴(Ctrl+V)
send_keys(Keys.F1) 

#切换窗口
driver.switch_to_window("windowName")
driver.switch_to_frame("frameName")

#文件上传
driver.find_element_by_name("file").send_keys('D:\\upload_file.txt')  # # 定位上传按钮,添加本地文件

#cookie操作
get_cookies(): 获得所有cookie信息
get_cookie(name): 返回字典的key为“name”的cookie信息
add_cookie(cookie_dict) : 添加cookie。“cookie_dict”指字典对象,必须有name 和value 值

#调用JavaScript代码
js="window.scrollTo(100,450);"
driver.execute_script(js) # 通过javascript设置浏览器窗口的滚动条位置


#窗口截图
driver.get_screenshot_as_file("D:\\baidu_img.jpg") # 截取当前窗口,并指定截图图片的保存位置

关闭浏览器
close() 关闭单个窗口
quit() 关闭所有窗口

 

这篇关于python selenium自动化测试模块的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!