python selenium自动化测试模块
2022/3/19 20:28:45
本文主要是介绍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自动化测试模块的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-24Python编程基础详解
- 2024-11-21Python编程基础教程
- 2024-11-20Python编程基础与实践
- 2024-11-20Python编程基础与高级应用
- 2024-11-19Python 基础编程教程
- 2024-11-19Python基础入门教程
- 2024-11-17在FastAPI项目中添加一个生产级别的数据库——本地环境搭建指南
- 2024-11-16`PyMuPDF4LLM`:提取PDF数据的神器
- 2024-11-16四种数据科学Web界面框架快速对比:Rio、Reflex、Streamlit和Plotly Dash
- 2024-11-14获取参数学习:Python编程入门教程