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 小米 华为 单反 装机 图拉丁
 
   -> 开发测试 -> 04 Selenium获取动态数据 -> 正文阅读

[开发测试]04 Selenium获取动态数据

简介

? ? ? ? 如今的网站反爬手段层出不穷,不像以前那么简单,网页在后端渲染好数据,再发送给客户端。现在通用的网页技术,前后端分离,前端中通过js函数发送请求向后端请求数据然后在渲染数据,因此,我们要是简单的发送requests请求,最后得到只是一堆js函数

? ? ? ? 当然,爬虫中也有相应的破解方法:selenium自动化工具,那就是驱动浏览器去模拟人为地获取数据

安装

1、安装selenium库

pip install selenium

# 上面命令安装失败请用下面命令
pip install selenium -i http://pypi.douban.com/simple --trusted-host pypi.douban.com

2、ChromeDriver

2.1、如果Selenium要和Chrome等主流浏览器衔接,则对应的浏览器需要安装驱动

2.2、比如:selenium要和Chrome连接,则需要安装 ChromeDriver 驱动

2.3、在 ChromeDriver Mirror 找与Chrome对应版本的驱动(相近的版本也可以)

?

2.4、下载并解压后,把chromedriver.exe 放到工程目录下

2.5、确保Chrome浏览器进行环境变量设置

使用

1、访问百度首页

百度一下,你就知道

2、编写代码

from selenium import webdriver
from time  import sleep


def Test(url):

    # 创建驱动配置
    option = webdriver.ChromeOptions()
    # 配置后台驱动浏览器
    # option.add_argument('headless')

    # 创建driver驱动对象
    driver = webdriver.Chrome(executable_path='./chromedriver.exe', chrome_options=option)

    # 访问页面
    driver.get(url)

    # 通过标签id,定位输入框,输入搜索值
    driver.find_element_by_id('kw').send_keys('csdn')

    sleep(1)

    # 通过标签id,定位搜索按钮
    driver.find_element_by_id('su').click()

    sleep(5)

    # 截图
    driver.save_screenshot('baidu.png')

    # 获取当前浏览器窗口的网页
    content = driver.page_source

    print(content)


if __name__  == '__main__':
    url = 'https://www.baidu.com/'
    Test(url)

总结

常用的selenium方法

# 通过标签的id值锁定标签(不推荐)
driver.find_element_by_id()

# 通过xpath语法锁定标签
driver.find_element_by_xpath()

# 清空锁定的标签的值
driver.find_element_by_xpath().clear()

# 往锁定的标签中填写值
driver.find_element_by_xpath().send_keys()

# 获取当前驱动的浏览器的Cookies值
driver.get_cookies()

# 获取当前浏览器窗口中的网页(破解动态数据)
driver.page_source

# 截图当前浏览器的窗口
driver.save_screenshot()

# 点击锁定的标签
driver.find_element_by_id().click()

  开发测试 最新文章
pytest系列——allure之生成测试报告(Wind
某大厂软件测试岗一面笔试题+二面问答题面试
iperf 学习笔记
关于Python中使用selenium八大定位方法
【软件测试】为什么提升不了?8年测试总结再
软件测试复习
PHP笔记-Smarty模板引擎的使用
C++Test使用入门
【Java】单元测试
Net core 3.x 获取客户端地址
上一篇文章           查看所有文章
加:2021-11-14 22:01:22  更:2021-11-14 22:03:13 
 
开发: 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/18 4:29:16-

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