Python selenium模块的安装使用


一、前言

selenium 作为爬虫自动化测试中较为常用的包,在 python 中扮演着非常重要的角色

requests 与 selenium 的区别:

  1. 前者是基于接口的爬虫,后者是基于浏览器页面的爬虫
  2. 前者对于一些加密接口是很难处理的,虽然前端无隐私,但是破解需要耗费大量时间,而后者仅获取页面渲染后的结果,不需要开发者去请求异步接口
  3. 前者可以轻松解决大部分问题,但解决疑难杂症还得靠后者
  4. 前者灵活速度快,后者需要启动一个对应版本的浏览器驱动,相对复杂
  5. requests模块的用法可以参考这里 https://blog.csdn.net/weixin_43721000/article/details/125718679

二、安装方法

  1. 安装 selenium 库
pip install selenium
  1. 下载对应版本的浏览器驱动,我这里下载的是谷歌的浏览器驱动 chromedriver.exe,版本号是 105
    国内镜像地址:https://registry.npmmirror.com/binary.html?path=chromedriver/
    在这里插入图片描述
    浏览器驱动的版本号一定要和你浏览器的版本号对上
    在这里插入图片描述

三、简单案例

老版本写法

from selenium import webdriver
from selenium.webdriver.common.by import By

if __name__ == '__main__':

    # 加载谷歌浏览器驱动
    driver = webdriver.Chrome(executable_path='./chromedriver.exe')
    # 打开百度首页
    driver.get('https://www.baidu.com/')

    # 获取百度导航栏中的文本
    xp = '//*[@id="s-top-left"]/a'
    nav_list = [elm.get_attribute('text') for elm in driver.find_elements(by=By.XPATH, value=xp)]
    print(nav_list)
    # ['新闻', 'hao123', '地图', '贴吧', '视频', '图片', '网盘']

新版写法

from selenium import webdriver
from selenium.webdriver.common.by import By


if __name__ == '__main__':
    options = webdriver.ChromeOptions()
    options.add_argument('lang=en_US')  # 设置语言,默认跟浏览器设置一样,答主这里需要英文网页所以改成英文
    service = webdriver.ChromeService(executable_path="./chromedriver.exe")

    driver = webdriver.Chrome(options=options, service=service)

    # # 加载谷歌浏览器驱动
    # driver = webdriver.Chrome()
    # 打开百度首页
    driver.get('https://www.baidu.com/')

    # 获取百度导航栏中的文本
    xp = '//*[@id="s-top-left"]/a'
    nav_list = [elm.get_attribute('text') for elm in driver.find_elements(by=By.XPATH, value=xp)]
    print(nav_list)
    # ['新闻', 'hao123', '地图', '贴吧', '视频', '图片', '网盘']



四、常用方法总结

可以参考这篇文章 https://blog.csdn.net/weixin_43721000/article/details/126976436

  • 17
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 15
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

什么都干的派森

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值