2026世界杯在哪_世界杯亚洲预选赛积分 - ifexchina.com

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

文章目录

前言一、环境的安装(一)Selenium的安装(二)安装浏览器驱动(三)配置环境变量

二、使用步骤(一)基本使用(二)模拟登录豆瓣

前言

本篇文章主要讲解了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()

登录成功。