python_selenium网页自动处理

一、安装与配置

web自动化测试工具集,包括IDE、Grid、RC(selenium 1.0)、WebDriver(selenium 2.0)等。

官方文档
https://selenium-python.readthedocs.io/index.html
https://seleniumhq.github.io/selenium/docs/api/py/api.html

安装步骤(Wins环境下):

1、安装selenium

pip install selenium

2、安装webdriver

各大浏览器webdriver下载地址(本文用的Chrome):

浏览器webdriver下载地址驱动
Chromehttps://sites.google.com/a/chromium.org/chromedriver/downloads 或者http://chromedriver.storage.googleapis.com/index.htmlChromeDriver
Edgehttps://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/edgeDriver
Firefoxhttps://github.com/mozilla/geckodriver/releasesgeckoDriver
Safarihttps://webkit.org/blog/6900/webdriver-support-in-safari-10/safariDriver
IEhttp://selenium-release.storage.googleapis.com/index.htmlieDriver

注:浏览器会不断的更新,那么与其匹配的驱动软件也会同样的更新。
所以webdriver需要和对应的浏览器版本以及selenium版本对应

3、webdriver安装路径

复制webdriver到Python安装目录下,我是之前下载的Anaconda,且Anaconda路径也加入到环境变量了,所以复制到Anaconda目录下,
所以直接放在Anaconda目录下
在这里插入图片描述

二、使用入门

1、定位

Selenium提供了8种定位方式

方式代码含义
idfind_element_by_id通过元素id定位
namefind_element_by_name通过元素name定位
class namefind_element_by_class_name通过classname进行定位
tag namefind_element_by_tag_name通过标签定位
link textfind_element_by_link_text通过完整超链接定位
partial link textfind_element_by_partial_link_text通过部分链接定位
xpathfind_element_by_xpath通过xpath(路径)表达式定位
css selectorfind_element_by_css_selector通过css选择器进行定位

2、打开登录网页

#1.实例化出一个浏览器
browser = webdriver.Chrome() 
#2.通过浏览器向服务器发送URL请求
browser.get("https://github.com/login")
#3.登录
time.sleep(3) #延迟3s
browser.find_element_by_id("login_field").send_keys("用户名")  #输入用户名
browser.find_element_by_id("password").send_keys("密码")  #输入密码
time.sleep(3) 
browser.find_element_by_name("commit").click()#点击登录

查看网页id、name等,鼠标放在登录框右击鼠标,点击检查
在这里插入图片描述
在这里插入图片描述

3、网页其他操作

3.1、控制浏览器操作的一些方法

方法说明
set_window_size()设置浏览器的大小
back()控制浏览器后退
forward()控制浏览器前进
refresh()刷新当前页面
clear()清除文本
send_keys (value)模拟按键输入
click()单击元素
submit()用于提交表单
get_attribute(name)获取元素属性值
is_displayed()设置该元素是否用户可见
size返回元素的尺寸
text获取元素的文本

3.2、鼠标事件
在 WebDriver 中, 将这些关于鼠标操作的方法封装在 ActionChains 类提供。

方法说明
ActionChains(driver)构造ActionChains对象
context_click()执行鼠标悬停操作
move_to_element(above)右击
double_click()双击
drag_and_drop()拖动
move_to_element(above)执行鼠标悬停操作
context_click()用于模拟鼠标右键操作, 在调用时需要指定元素定位
perform()执行所有 ActionChains 中存储的行为,可以理解成是对整个操作的提交动作

3.3、键盘事件
Selenium中的Key模块为我们提供了模拟键盘按键的方法,那就是send_keys()方法。它不仅可以模拟键盘输入,也可以模拟键盘的操作。

常用的键盘操作如下:

模拟键盘按键说明
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…Fn)键盘 F1…Fn

3.4、获取断言信息
不管是在做功能测试还是自动化测试,最后一步需要拿实际结果与预期进行比较。这个比较的称之为断言。通过我们获取title 、URL和text等信息进行断言。

属性说明
title用于获得当前页面的标题
current_url用户获得当前页面的URL
text获取搜索条目的文本信息
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值