IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> python爬虫selenium的使用 -> 正文阅读

[Python知识库]python爬虫selenium的使用

简介

—Selenium是最广泛使用的开源Web UI(用户界面)自动化测试套件之一。
----让我的程序连接到浏览器,让浏览器来完成各种复杂的操作,我们只接受最终的结果
-----selenium; 自动化测试工具
----可以打开浏览器。然后像人一样去操作浏览器, 程序员可以selenium中直接提取网页上的各种信息

----环境搭建:
pip install selenium -i清华源

----下载浏览器驱动; https://npm.taobao.org/mirrors/chromedriver
----把解压缩的浏览器驱动chromedriver 放在python解释器所在的文件夹
----让selenium启动谷歌浏览器

selenium webdriver的使用

----首先创建浏览器对象(以Chrome为例)
driver = Chrome()

  1. 获取网页,获取网页有两种方法:

----使用Get方法 -driver.get("www.yiibai.com");

----使用Navigate方法 -driver.navigate().to("https://yiibai.com/selenium/");

  1. 查找表单并发送用户输入
web.find_element_by_xpath('//[@id="JuserName"]').send_keys('***')
  1. 清除用户输入
    clear()方法用于从文本框中清除用户输入。
driver.find_element_by_xpath().clear();
  1. 通过Web元素获取数据
    有时需要获取通过web元素写入的文本来执行某些断言和调试。使用getText()方法来获取通过任何web元素写入的数据。
driver.find_element_by_xpath(**).getText();
  1. 执行Click事件
    click()方法用于对任何Web元素执行单击操作。
driver.find_element_by_xpath(**).click();
  1. 在浏览器历史记录中向后导航
driver.navigate().back();
  1. 在浏览器历史记录中向前导航
driver.navigate().forward();
  1. 刷新/重新加载网页
driver.navigate().refresh();
  1. 关闭浏览器
driver.close();
  1. 关闭浏览器和与驱动程序关联的其他所有其他窗口
driver.quit();
  1. 在Windows之间移动
driver.switch_to_window(web.window_handles[])

返回上一个窗口

web.switch_to_default_content()
  1. 在 frame 之间移动
web.switch_to_frame(**)
  1. 拖放
    使用Action类执行拖放操作。
WebElement element = driver.findElement(By.name("source"));  
WebElement target = driver.findElement(By.name("target"));  

14.无头浏览器的实现
opt = Options()

# opt.add_argument("--headless")
# opt.add_argument("--disable-gpu")
opt.add_argument('--disable-blink-features=AutomationControlled')

#1.创建浏览器对象
web = Chrome(options=opt)

实现12306拖拽登录验证实例



from selenium.webdriver.chrome.options import Options
from selenium.webdriver import Chrome
from selenium.webdriver.common.keys import Keys
import time

from selenium.webdriver.common.action_chains import ActionChains
opt = Options()
# opt.add_argument("--headless")
# opt.add_argument("--disable-gpu")
opt.add_argument('--disable-blink-features=AutomationControlled')

#1.创建浏览器对象
web = Chrome(options=opt)
# 2.打开一个网址
web.get("https://kyfw.12306.cn/otn/resources/login.html")
print(web.title)
web.find_element_by_xpath('//*[@id="toolbar_Div"]/div[2]/div[2]/ul/li[2]/a').click()
web.find_element_by_xpath('//*[@id="J-userName"]').send_keys('用户名')
web.find_element_by_xpath('//*[@id="J-password"]').send_keys('密码')
web.find_element_by_xpath('//*[@id="J-login"]').click()
time.sleep(3)
index = web.find_element_by_xpath('//*[@id="nc_1__scale_text"]/span')
ActionChains(web).drag_and_drop_by_offset(index, 300, 0).perform()


利用超级鹰登录超级鹰网站图片验证实例

from chaojiying import Chaojiying_Client

from selenium.webdriver import Chrome
from selenium.webdriver.common.keys import Keys
web = Chrome()
web.get("https://www.chaojiying.com/user/login/")

image = web.find_element_by_xpath("/html/body/div[3]/div/div[3]/div[1]/form/div/img").screenshot_as_png

chaojiying = Chaojiying_Client('用户名', '密码', 'id')
print(chaojiying.PostPic(image, 1902))
dic = chaojiying.PostPic(image, 1902)
vs = dic['pic_str']

web.find_element_by_xpath("/html/body/div[3]/div/div[3]/div[1]/form/p[1]/input").send_keys('用户名')
web.find_element_by_xpath("/html/body/div[3]/div/div[3]/div[1]/form/p[2]/input").send_keys('密码')
web.find_element_by_xpath("/html/body/div[3]/div/div[3]/div[1]/form/p[3]/input").send_keys(vs,Keys.ENTER)

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-10-02 14:37:41  更:2021-10-02 14:39:12 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 16:42:59-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码