Python中Selenium的基本使用

这篇具有很好参考价值的文章主要介绍了Python中Selenium的基本使用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

一、Selenium是什么?

二、使用步骤

  1.引入库

  2.下载浏览器驱动

  3.配置浏览器驱动

   4.创建WebDriver对象

  4.1.options 

  4.2.service

  4.3.desired_capabilities

  4.4.executable_path 

5.WebDriver的属性 

6.元素定位 

三.打开百度网页的简单示例 

总结



一、Selenium是什么?

Selenium是一个用于自动化浏览器操作的Python库,常用于Web应用的测试和爬虫等场景。

二、使用步骤

  1.引入库

安装Selenium库:使用pip命令安装Selenium库。可以运行以下命令进行安装:

pip install selenium==4.5

目前有更高版本4.10,但是高版本有些参数被改了或舍弃了,使用起来要自己去找官方文档,不方便。而且过高的Selenium版本和Chrome浏览器版本不兼容,之前用的selenium4.10打开chrome浏览器会秒退,后来将版本换为4.5就解决了 。

  2.下载浏览器驱动

Selenium需要使用浏览器驱动来控制浏览器。这里以ChromeDriver为例,下载地址为:https://chromedriver.storage.googleapis.com/index.html

根据自己的Chrome版本进行下载

python selenium,python爬虫,selenium,python

python selenium,python爬虫,selenium,python

 我的是版本到了115,但是ChromeDriver目前只有114的,选最新的版本,目前没遇见问题。

  3.配置浏览器驱动

将下载的chromedriver.exe文件放置在与你的Python脚本相同的目录下

python selenium,python爬虫,selenium,python

并将浏览器驱动添加到系统的环境变量中,或将其路径配置为Selenium的WebDriver对象的参 数,在计算机上搜索高级系统设置->环境变量->path->新建->复制路径->确定。

python selenium,python爬虫,selenium,python

 

   4.创建WebDriver对象

 使用Selenium的WebDriver对象来控制浏览器。根据使用的浏览器类型和驱动的配置,创建对应   的WebDriver对象。

from selenium import webdriver

# 创建Chrome浏览器的WebDriver对象
driver = webdriver.Chrome()

 webdriver.Chrome的常用参数

  4.1.options 

一个Options对象,用于配置Chrome浏览器的选项。你可以使用该对象来设置浏览器窗口大小、启用/禁用浏览器的扩展程序、设置用户代理等等。

from selenium.webdriver.chrome.options import Options

options = Options()
options.add_argument('--start-maximized')  # 最大化窗口
options.add_argument('--disable-extensions')  # 禁用扩展程序

driver = webdriver.Chrome(options=options)

  4.2.service

一个Service对象,用于配置和启动ChromeDriver服务。如果没有显式指定,它将搜索系统的PATH环境变量来找到ChromeDriver服务。

from selenium.webdriver.chrome.service import Service

service = Service('chromedriver.exe')
driver = webdriver.Chrome(service=service)

  4.3.desired_capabilities

一个字典,用于设置WebDriver的所需能力。你可以使用该字典来设置浏览器的版本、操作系统、浏览器名称等等。

caps = {'browserName': 'chrome', 'version': '', 'platform': 'ANY'}
driver = webdriver.Chrome(desired_capabilities=caps)

  4.4.executable_path 

指定Chrome驱动的路径。如果没有显式指定,它将搜索系统的PATH环境变量来找到Chrome驱动程序。貌似被弃用了,我使用的时候报出警告了,用第二个service替换就行了。

5.WebDriver的属性 

# 打开指定的网页
driver.get("https://www.baidu.com")

#获取当前页面的URL
current_url = driver.current_url

#获取当前页面的标题
title = driver.title

#获取当前页面的源代码
page_source = driver.page_source

#获取当前打开的所有窗口的句柄
window_handles = driver.window_handles

#获取当前窗口的句柄
current_window_handle = driver.current_window_handle

#获取当前WebDriver的所需能力
desired_capabilities = driver.desired_capabilities

#获取当前WebDriver的能力
capabilities = driver.capabilities

6.元素定位 

Selenium提供了多种元素定位的方法,可以根据元素的属性、文本、位置等进行定位。以下是一些常用的元素定位方法:

旧版的selenium使用方法:

#通过id定位元素
element = driver.find_element_by_id("element-id") 

#通过class name定位元素
element = driver.find_element_by_class_name("element-class")

#通过name属性定位元素
element = driver.find_element_by_name("element-name")

#通过tag name定位元素
element = driver.find_element_by_tag_name("element-tag")

#通过链接文本定位元素
element = driver.find_element_by_link_text("link-text")

#通过部分链接文本定位元素
element = driver.find_element_by_partial_link_text("partial-link-text")

#通过CSS选择器定位元素
element = driver.find_element_by_css_selector("css-selector")

#通过XPath表达式定位元素
element = driver.find_element_by_xpath("xpath-expression")

新版的selenium有两种定位方式,element = driver.find_element("id", "element-id")element = driver.find_element(By.ID,"su") 这两种方式本质上是等效的,都是通过元素的id属性进行定位。第一种方式中,使用了字符串来表示定位策略,而第二种方式中,使用了By类来表示定位策略。By类是Selenium提供的一组常用的定位策略,用于更清晰地表示定位方式。通过使用By类,可以让代码更易读且具备更好的可维护性。

from selenium.webdriver.common.by import By

# 第一种方式:使用定位策略和定位值定位元素
element1 = driver.find_element("id", "element-id")
element1 = driver.find_element("name", "element-name")

# 第二种方式:使用By类结合定位策略定位元素
element2 = driver.find_element(By.ID, "element-id")
element2 = driver.find_element(By.NAME, "element-name")

 其余旧版的定位方法都可用转换成这两种方式

三.打开百度网页的简单示例 

该示例演示了如何获取百度页面的源码,如何在百度搜索框里输入信息并点击查找 。

from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.common.by import By
import time

#chromedriver.exe要与该python文件放在同一个目录下
service = Service("chromedriver.exe")
options = Options()

#初始窗口最大化
options.add_argument('--start-maximized')
driver = webdriver.Chrome(service=service, options=options)

url = "https://www.baidu.com"

driver.get(url)

#获取网页的源码
content = driver.page_source
print(content)

#根据id定位到百度搜索的输入框
input = driver.find_element(By.ID,"kw")

#在输入框中输入Python
input.send_keys('Python')
time.sleep(2)

#根据id定位到百度一下的按钮
button = driver.find_element(By.ID,"su")

#按钮点击一下
button.click()
time.sleep(2)

#执行JavaScript脚本,该脚本表示鼠标滚轮滑动到距离顶部100000,即滑动到底部
js_button = 'document.documentElement.scrollTop=100000'
driver.execute_script(js_button)
time.sleep(2)

#根据Xpath表达式定位下一页的按钮,并点击一下
next_page = driver.find_element(By.XPATH,"//a[@class='n']")
next_page.click()
time.sleep(2.1)

#网页后退
driver.back()
time.sleep(1.5)

#网页前进
driver.forward()
time.sleep(1.8)

#网页关闭
driver.quit()

总结

新手上路,请多指教;如有错误,请多包涵。文章来源地址https://www.toymoban.com/news/detail-713563.html

到了这里,关于Python中Selenium的基本使用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Python爬虫-使用Selenium模拟百度登录

        前面我已经安装好了Selenium并模拟成功了一下打开百度页面并进行查询,让我这个python初学者信心倍增,今天再来试一试百度登录 把打开百度的代码放到构造方法中 ps:那个文件目录是用于后面滑块验证图片保存的。 点击右上角的“登录”按钮,打开登录框, 代码如下:

    2024年02月06日
    浏览(52)
  • python爬虫selenium和ddddocr使用

    selenium实际上是web自动化测试工具,能够通过代码完全模拟人使用浏览器自动访问目标站点并操作来进行web测试。 通过python+selenium结合来实现爬虫十分巧妙。 由于是模拟人的点击来操作,所以实际上被反爬的概率将大大降低。 selenium能够执行页面上的js,对于js渲染的数据和

    2024年02月07日
    浏览(44)
  • Python爬虫之selenium的基础使用

    一.本文背景及概要 笔者在Python爬虫的学习过程中接触selenium,惊觉此包的强大之处,便对学习的知识做个记录,方便日后需要时查看,同时也和读者分享。文中表述如有错误,敬请指正,感激不尽。 本文主要是对selenium的概要和一些基础的用法。特此说明:笔者学习的资料中

    2024年02月07日
    浏览(39)
  • python爬虫框架selenium安装和使用教程

    – Selenium是一个常用的Python爬虫框架,可以模拟浏览器行为,实现一些自动化的操作。本教程将介绍Selenium的基础知识、使用方法,包括导入包、安装、示例、数据保存等方面。 在开始之前,我们需要先导入Selenium相关的包。这里我们用Python3作为演示,所以需要安装对应版本

    2024年02月02日
    浏览(38)
  • 【Python爬虫】selenium的详细使用方法

    selenium是一个用于web应用测试的工具,selenium所做的测试会直接运行在浏览器中,就像真人进行操作一样,像是打开浏览器,输入账号密码登录等等。目前selenium支持大部分的浏览器,例如:IE,Mozilla Firefox,Safari,Google Chrome,Opera,Edge等等浏览器,selenium是一个相当成功的开

    2024年02月07日
    浏览(58)
  • python爬虫-使用selenium自动登录微博

    环境准备:anaconda、pycharm编辑器、chromedriver(记得下载) 首先查看本地anaconda的python环境和selenium版本号(不同版本的api接口可能不同) 输出 我的python版本是3.11.3,所以我默认下载的selenium版本号是 selenium 4.11.2 自动登录的python脚本代码如下: 最后运行这个脚本文件即可自动登录微

    2024年02月11日
    浏览(37)
  • python使用selenium控制浏览器进行爬虫

    这里以谷歌浏览器为例,需要安装一下chromedriver,其他浏览器也有相对应的driver,chromedriver下载地址:https://googlechromelabs.github.io/chrome-for-testing/ 然后是打开python环境安装一下依赖 pip install selenium ,验证一下控制浏览器是否成功 点击运行脚本可以看到以下页面就成功了。 爬虫

    2024年02月04日
    浏览(61)
  • Python3爬虫之 Selenium库的使用

    今天在官网看了下Selenium库,总结了下常用的方法,直接上代码。(沈略环境搭建,网上多得是),新手建议去了解10分钟再来看这里的代码。 这里列举一下常用的查找元素方法:其实find_element_by_xpath是万能的。 单元素定位: find_element_by_name find_element_by_id find_element_by_xpath

    2024年02月11日
    浏览(46)
  • Python爬虫基础(三):使用Selenium动态加载网页

    Python爬虫基础(一):urllib库的使用详解 Python爬虫基础(二):使用xpath与jsonpath解析爬取的数据 Python爬虫基础(三):使用Selenium动态加载网页 Python爬虫基础(四):使用更方便的requests库 Python爬虫基础(五):使用scrapy框架 (1)Selenium是一个用于Web应用程序测试的工具。

    2024年02月06日
    浏览(53)
  • python爬虫之selenium4使用(万字讲解)

    声明以下的例子,只是来作为测试学习,并不作为真正的爬虫 我们在浏览一些网站时,有不少内容是通过 JavaScript动态渲染的,或是 AJAX 请求后端加载数据,这其中涉及到了不少加密参数如 token,sign,难以找规律,较为复杂。像前面的百度贴吧的一个评论的回复,百度翻译等

    2024年04月10日
    浏览(96)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包