python之selenium模块
Posted xyqiu90-365
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python之selenium模块相关的知识,希望对你有一定的参考价值。
一、selenium介绍:
它是一个用于Web应用程序测试的工具,可直接运行在浏览器中。
支持浏览器IE/Mozilla Firefox,Safari,Google Chrome,Opera等浏览器。
主要功能:
(1)测试与浏览器的兼容性——测试你的应用程序看是否能够很好得工作在不同浏览器和操作系统之上。
(2)测试系统功能——创建回归测试检验软件功能和用户需求
(3)支持自动录制动作和自动生成.Net、Java、Perl、Python等不同语言的测试脚本
(4)爬虫
二、Python selenium 以及 webdriver 的安装
Selenium本身支持多种语言的。例如:.Net,Java,Perl
需要驱动浏览器,所以需要安装对应浏览器和对应浏览器版本的web驱动
A 首先,安装selenium框架
pip install selenium
B 安装浏览器的驱动,以chrome浏览器为例
下载地址(需要FQ)
https://sites.google.com/a/chromium.org/chromedriver/downloads
或 http://chromedriver.storage.googleapis.com/index.html
查看chrome浏览器的版本,下载对应的驱动版本。
将下载好的driver解压放在Python的目录下,这样可以使用Python配置好的环境变量。
三、代码演示
示例:
# encoding:utf-8 from selenium import webdriver #创建了指定的浏览器驱动 chrome = webdriver.Chrome() #打开指定页面 chrome.get("https://www.baidu.com/") #查询指定的元素 search = chrome.find_element_by_id("kw") #发送值 search.send_keys("python")
实战:
#coding:utf-8 from selenium import webdriver """ #创建了指定的浏览器驱动 chrome = webdriver.Chrome() #打开指定页面 chrome.get("https://www.baidu.com/") #查询指定的元素 search = chrome.find_element_by_id("kw") #发送值 search.send_keys("python") """ from time import sleep from selenium import webdriver url = "https://xui.ptlogin2.qq.com/cgi-bin/xlogin?proxy_url=https%3A//qzs.qq.com/qzone/v6/portal/proxy.html&daid=5&&hide_title_bar=1&low_login=0&qlogin_auto_login=1&no_verifyimg=1&link_target=blank&appid=549000912&style=22&target=self&s_url=https%3A%2F%2Fqzs.qq.com%2Fqzone%2Fv5%2Floginsucc.html%3Fpara%3Dizone&pt_qr_app=%E6%89%8B%E6%9C%BAQQ%E7%A9%BA%E9%97%B4&pt_qr_link=https%3A//z.qzone.com/download.html&self_regurl=https%3A//qzs.qq.com/qzone/v6/reg/index.html&pt_qr_help_link=https%3A//z.qzone.com/download.html&pt_no_auth=0" #创建了指定的浏览器驱动 chrome = webdriver.Chrome() #打开指定页面 chrome.get(url) #查询打开form表单的元素 login_form = chrome.find_element_by_id("switcher_plogin") #触发单击事件 login_form.click() #捕获用户名输入框 username = chrome.find_element_by_id("u") #输入qq号 username.send_keys("XXX") #捕获密码输入框 password = chrome.find_element_by_id("p") #输入密码 password.send_keys("XXX") #捕获提交按钮 submit = chrome.find_element_by_id("login_button") #触发提交事件 submit.click() sleep(3) pls = chrome.find_elements_by_xpath(‘//ul[@id="feed_friend_list"]/li‘) #pip install lxml for pl in pls: print(pl.text) #print(dir(pl))
selenium_nohead.py
#coding:utf-8 from time import sleep from selenium import webdriver from selenium.webdriver.chrome.options import Options url = "https://xui.ptlogin2.qq.com/cgi-bin/xlogin?proxy_url=https%3A//qzs.qq.com/qzone/v6/portal/proxy.html&daid=5&&hide_title_bar=1&low_login=0&qlogin_auto_login=1&no_verifyimg=1&link_target=blank&appid=549000912&style=22&target=self&s_url=https%3A%2F%2Fqzs.qq.com%2Fqzone%2Fv5%2Floginsucc.html%3Fpara%3Dizone&pt_qr_app=%E6%89%8B%E6%9C%BAQQ%E7%A9%BA%E9%97%B4&pt_qr_link=https%3A//z.qzone.com/download.html&self_regurl=https%3A//qzs.qq.com/qzone/v6/reg/index.html&pt_qr_help_link=https%3A//z.qzone.com/download.html&pt_no_auth=0" chrome_options = Options() chrome_options.add_argument("--headless") chrome = webdriver.Chrome(chrome_options = chrome_options,executable_path = "G:\Python35\chromedriver.exe") #打开指定页面 chrome.get(url) #查询打开form表单的元素 login_form = chrome.find_element_by_id("switcher_plogin") #触发单击事件 login_form.click() #捕获用户名输入框 username = chrome.find_element_by_id("u") #输入qq号 username.send_keys("xxx") #捕获密码输入框 password = chrome.find_element_by_id("p") #输入密码 password.send_keys("xxx") #捕获提交按钮 submit = chrome.find_element_by_id("login_button") #触发提交事件 submit.click() sleep(3) pls = chrome.find_elements_by_xpath(‘//ul[@id="feed_friend_list"]/li‘) #pip install lxml for pl in pls: print(pl.text)
以上是关于python之selenium模块的主要内容,如果未能解决你的问题,请参考以下文章