selenium + phantomjs/Chrome
2021-04-02 17:25
标签:path div ash png 字符 enter cap scripts bin 1,selenium 1,定义:Web自动化测试工具,应用于web自动化测试 2,特点: 1,可以运行在浏览器上,根据指定的命令操作浏览器,让浏览器自动加载页面 2,只是工具,不支持浏览器功能,需要与第三方浏览器结合使用 2,phantomjs 1,定义:无界面浏览器(无头浏览器) 2,特点: 1,把网站加载到内存(速度快)进行页面加载 2,运行高效 3,安装 1,Windows 1,将下载的可执行文件放到Python安装目录的Scripts目录下 如果路径自定义程序中要指定绝对路径 2,cmd >>> where Python 2,Ubuntu 1,将下载的 phantomjs 放到一个路径下 2,添加环境变量: vi.bashrc添加 export PHANTOM_JS=/home/.../phantomjs.23.8-67 export PATH=$PHANTOM_JS/bin:$PATH 终端:source.bashrc 终端: phantomjs 伪代码: 导入selenium模块: from selenium import webdriver 设置浏览器驱动器: driver = webdriver.PhantomJS() [ driver = webdriver.ChromeOptions() ] 发送请求: driver.get(‘url‘) 获取响应源码: driver.page_source driver.page_source.find("字符串") 查找字符串 保存页面截图: driver.save_screenshot("name.png") 退出浏览器: driver.quit() [ driver.close() ] 单元素查找(如果匹配到多个节点,则只返回第一个节点对象): driver.find_element_by_id(" ")[.txt] driver.find_element_by_class_name(" ") driver.find_element_by_xpath("xpath表达式") 多元素查找: driver.find_elements_by_*** #如果查询到一个结果,则返回节点对象,不是列表 #如果查询到多个结果,则返回节点对象的列表 对象名.send_keys("要发送的内容") 对象名.click() 导入模块:from selenium.webdriver.common.keys import Keys Ctrl+A : 对象名.send_keys(Keys.CONTROL,‘a‘) Enter : 对象名.send_keys(Keys.ENTER) 清空搜索框 : 对象名.clear() selenium + phantomjs/Chrome 标签:path div ash png 字符 enter cap scripts bin 原文地址:https://www.cnblogs.com/hongliangzhao/p/12552144.htmlfrom selenium import webdriver
import time
#创建浏览器对象,发送请求
driver = webdriver.PhantomJS()
driver.get("url")
time.sleep(0.5)
#获取截图
driver.save_screenshot("验证码.png")
#使用 用户名,密码 验证登录网址
uname = driver.find_element_by_name("form_email")
uname.send_keys(‘用户名‘)
upwd = driver.find_element_by_name(‘form_pasword‘)
upwd.send_keys(‘用户密码‘)
#使用验证码登录
YanZhengMa = driver.find_element_by_name(‘captcha_field‘)
k = input(‘请输入验证码:‘)
YanZhengMa.send_keys(k)
#截取完成界面
driver.save_screenshot("完成.png")
#点击登录按钮
login = driver.find_element_by_name(‘bn-submit‘)
login.click()
time.sleep(1)
#截取登录成功页面
driver.save_screenshot(‘登录成功.png‘)
#关闭浏览器
driver.close()