Selenium 简介‎

  1. 安装
  2. 使用
    1. 页面元素
    2. Cookies
    3. alert
  3. 其他

Selenium 是什么?一句话,自动化测试工具。它支持各种浏览器,包括 Chrome,Safari,Firefox 等主流界面式浏览器,如果你在这些浏览器里面安装一个 Selenium 的插件,那么便可以方便地实现 Web 界面的测试。

Selenium Python 文档中文版

Selenium 官网

安装

pip install selenium

Chrome 浏览器驱动
Firefox 浏览器驱动
IE 浏览器驱动,IE 其他相关配置参考:Selenium 3.0 WebDriver IEDriverServer配置
Edge 浏览器驱动,根据自己电脑的操作系统版本来决定下载哪个版本的 webdriver

然后将驱动文件路径配置在环境变量下,或者当前目录下。

使用

import requests
from selenium import webdriver
from selenium.webdriver.support import expected_conditions
from selenium.webdriver.common.alert import Alert

wd = webdriver.Chrome()
# wd=webdriver.Firefox() # 使用火狐浏览器
# wd = webdriver.Ie() # 使用 IE 浏览器
# wd = webdriver.Edge() # 使用 Edge 浏览器

wd.get(baseURL + 'logon.do') # 会自动打开浏览器,然后访问

页面元素

wd.find_element_by_name('userName').send_keys(username) # 获得页面元素并赋值
# element = driver.find_elements_by_tag_name("input")
# element.clear() # 清除输入的文本
wd.find_element_by_id('passWord').send_keys(password)
# wd.find_element_by_name('validateCode').send_keys(input("输入验证码: "))
wd.find_element_by_name('validateCode').send_keys(vcode(req)) # 验证码自动识别,如无法自动识别使用上面的手动输入
wd.find_element_by_xpath("//*[@id='loginform']/form/div[5]/div/input").click()  # 按钮点击

Cookies

req = requests.Session()
cookies = wd.get_cookies()
for cookie in cookies: # 将 selenium 的 cookie 赋给 requests
    req.cookies.set(cookie['name'], cookie['value'])

cookie = {'name' : 'foo', 'value' : 'bar'}
wd.add_cookie(cookie) # 添加 Cookies

alert

if expected_conditions.alert_is_present()(wd): # 判断是否有alert
    alert = Alert(wd)  # 获取弹出窗口
    text1 = alert.text  # 获取窗口文本信息
    print(text1)
    alert.accept()  # 确认
    # alert.dismiss()  # Confirm 取消
    # alert.send_keys(keysToSend)  # Prompt 输入信息
    # alert.authenticate(username, password)  # 用户认证信息登录,已有确认操作

其他

Python 爬虫利器五之 Selenium 的用法


转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 bin07280@qq.com

文章标题:Selenium 简介‎

文章字数:476

本文作者:Bin

发布时间:2018-05-28, 13:17:55

最后更新:2019-08-06, 00:07:35

原始链接:http://coolview.github.io/2018/05/28/Python/Selenium%E7%AE%80%E4%BB%8B/

版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。

目录