Python爬虫-Selenium WebDriver的安装教程及使用

Python3.8

Python3.8

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本


前言

本篇文章主要讲解了Selenium WebDriver的安装和使用方法,并演示了如何利用Selenium模拟登录豆瓣。


一、环境的安装

(一)Selenium的安装

Selenium 是一个开源的自动化测试框架,主要用于Web应用程序的测试。它提供了一套工具和库,可以模拟用户在浏览器中的操作,如点击按钮、填写表单和导航网页。Selenium 支持多种浏览器(如Chrome、Firefox、Safari等)和编程语言(如Java、Python、C#等),使得测试人员能够编写跨浏览器的自动化测试脚本。

安装selenium库
使用国内源:阿里云源
pip3 install selenium -i https://mirrors.aliyun.com/pypi/simple
在这里插入图片描述

查看selenium版本
pip show selenium
在这里插入图片描述

(二)安装浏览器驱动

WebDriver 是 Selenium 框架中的核心组件之一,它用于与浏览器进行交互,从而实现自动化测试。WebDriver 提供了一种简单的编程接口,可以用于控制浏览器的行为,模拟用户与网页的交互。

安装webdriver
https://chromedriver.storage.googleapis.com/index.html
我下载的是旧版本的102.0.5005.61的驱动
在这里插入图片描述
谷歌太新导致不兼容,卸载新版本下载老版本谷歌就可以了
https://www.chromedownloads.net/chrome64win/
https://downzen.com/en/windows/google-chrome/versions/
在这里插入图片描述

(三)配置环境变量

将下载的驱动程序放到计算机的全局变量中
在这里插入图片描述

查看版本
在这里插入图片描述
至此,Selenium和谷歌驱动的配置已经完成。

二、使用步骤

(一)基本使用

现在我们可以启动Python来尝试启动谷歌浏览器。

访问百度
>>> from selenium import webdriver
>>> driver=webdriver.Chrome()
>>> driver.get("http://www.baidu.com")

在这里插入图片描述
窗口最大化:driver.maximize_window()
在这里插入图片描述
driver.back() #后退百度首页
在这里插入图片描述
driver.forward() #前进豆瓣首页
在这里插入图片描述
driver.refresh() #刷新当前页面
print(driver.title) #获取豆瓣首页的标题信息
print(driver.current_url) #获取当前页面url
在这里插入图片描述

(二)模拟登录豆瓣

豆瓣登录有密码登录和短信登录,选择密码登录
在这里插入图片描述
F12使用开发者工具定位到密码登录的元素
在这里插入图片描述
定位class属性
在这里插入图片描述
Selenium元素定位的代码运行之后会报错,发现是Selenium更新到新版本(4.x版本)后,以前的一些常用的代码的语法发生了改变
在这里插入图片描述
Selenium降级以后,使用失败,继续用新版本的selenium,使用新版本定位元素代码

新版本Selenium元素定位代码:
# inputTag = driver.find_element_by_id("value")  # 利用ID查找
# 改为:
inputTag = driver.find_element(By.ID, "value")

# inputTags = driver.find_element_by_class_name("value")  # 利用类名查找
# 改为:
inputTag = driver.find_element(By.CLASS_NAME, "value")

# inputTag = driver.find_element_by_name("value")  # 利用name属性查找
# 改为:
inputTag = driver.find_element(By.NAME, "value")

# inputTag = driver.find_element_by_tag_name("value")  # 利用标签名查找
# 改为:
inputTag = driver.find_element(By.TAG_NAME, "value")

# inputTag = driver.find_element_by_xpath("value")  # 利用xpath查找
# 改为:
inputTag = driver.find_element(By.XPATH, "value")

# inputTag = driver.find_element_by_css_selector("value")  # 利用CSS选择器查找
# 改为:
inputTag = driver.find_element(By.CSS_SELECTOR, "value")

在这里插入图片描述
定位账号和密码
定位ID属性
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
总代码:

from selenium import webdriver
from selenium.webdriver.common.by import By
import time
#打开浏览器,访问豆瓣网址
driver = webdriver.Chrome()
# driver.maximize_window()   #窗口最大化
driver.get("https://accounts.douban.com/passport/login")
#点击密码登录
element = driver.find_element(By.CLASS_NAME, 'account-tab-account')
element.click()
#定位账号和密码
driver.find_element(By.ID,'username').send_keys('******') #模拟键盘输入操作
driver.find_element(By.ID,'password').send_keys('******')
#点击登录豆瓣
driver.find_element(By.LINK_TEXT,'登录豆瓣').click() #通过部分链接文本定位元素
#等待20秒以后,自动关闭
time.sleep(20)
driver.quit()

在这里插入图片描述
在这里插入图片描述
登录成功。

您可能感兴趣的与本文相关的镜像

Python3.8

Python3.8

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值