安装Selenium

安装Selenium

【0】引言

​ 由于sleenium4.1.0需要python3.7以上方可支持,请注意自己的python版本。

【1】使用Pycharm安装

  • 使用 快捷键 Ctrl + Alt + S

在这里插入图片描述

image-20240401170441034

【2】使用 pip 安装

  • Python3.x安装后就默认就会有pip(pip.exe默认在python的Scripts路径下),
  • 打开 cmd,使用pip安装。
  • 由于sleenium4.1.0需要python3.7以上方可支持,请注意自己的python版本。
# pip install Seleium
  • 安装selenium指定版本

# pip install selenium==3.14.0
  • 首次安装会有进度条,而且装出来是多个包(依赖于其他第三方库)。
  • 如果安装慢(默认连接官网),可以指定国内源。
  • 浏览器下载selenium chrome下载网址
#  pip install selenium -i https://mirrors.aliyun.com/pypi/simple/

【3】安装chrome驱动

chrome驱动地址

  • http://chromedriver.storage.googleapis.com/index.html
  • 或者
  • Chrome for Testing availability (googlechromelabs.github.io)
  • 建议win64位
  • 在把你下载的驱动程序下载解压放在Python解释器的文件夹就可以了

image-20240401195818166

image-20240401195751611

【4】测试驱动

# 导入模块
from selenium import webdriver

# 指定绝对路径的方式(可选)
browser = webdriver.Chrome()

# 让浏览器访问网页
browser.get("https://www.baidu.com")

【1】设置Chrome启动参数

# 导入模块
from selenium import webdriver
import time

# 指定绝对路径的方式(可选)
browser = webdriver.Chrome()
# 让浏览器访问网页
browser.get("https://www.baidu.com")

# 创建浏览器对象,指定配置参数
options = webdriver.ChromeOptions()
options.add_argument('--headless')  # 开启无界面模式
options.add_argument('--disable-gpu')  # 禁用gpu
# 实例化带有配置对象的driver对象
browser = webdriver.Chrome()


# 保存截图调试
browser.save_screenshot('screenshot.png')

# 延迟进入浏览器页面
time.sleep(5)

# 关闭浏览器
browser.close()

image-20240401204112309

【 5 】edge浏览器

Supported Browsers | SeleniumSelenium Web自动化测试工具

​ 使用Selenium与Microsoft Edge浏览器进行自动化测试或爬虫开发是相对简单的。以下是一些基本步骤:

  1. 安装Selenium: 首先,确保你已经安装了Selenium库。你可以使用pip来安装Selenium:

    # pip install selenium
    
  2. 下载Edge WebDriver: 与其他浏览器一样,Edge浏览器也需要一个WebDriver来与Selenium进行通信。你需要下载与你的Edge浏览器版本相匹配的WebDriver。你可以在Microsoft Edge WebDriver下载页面找到适合你的Edge浏览器版本的WebDriver。

image-20240409090526870

image-20240409090436924

  • 设置WebDriver路径: 在你的Python脚本中,需要指定WebDriver的路径。你可以通过设置WebDriver的路径来告诉Selenium在哪里找到Edge浏览器的WebDriver。
from selenium import webdriver
# 导入标签定位工具
from selenium.webdriver.common.by import By
from selenium.webdriver.edge.service import Service
import time

# 启动Edge浏览器

# 设置 Edge 驱动程序的路径
driver_path = r'C:\Users\小白\PycharmProjects\pythonProject2\ni1\msedgedriver.exe'
# 创建一个 EdgeDriver 的 Service 对象
service = Service(driver_path)
# 使用当前目录下的Edge驱动程序初始化WebDriver对象
driver = webdriver.Edge(service=service)

​ 请确保将 path_to_your_edge_webdriver 替换为你实际下载的Edge WebDriver的路径。

  • 使用WebDriver进行操作:一旦你设置了WebDriver的路径并创建了WebDriver实例,你就可以使用Selenium的WebDriver来执行各种操作,例如打开网页、查找元素、模拟用户操作等等。
# 打开网页
driver.get("https://www.jsrank.cn/index.html")
# driver.get('https://vip.biancheng.net/register.php')

# 屏幕最大
driver.maximize_window()

# 等待一段时间
time.sleep(2)


# 通过元素的 Class 属性进行定位
class_name = element = driver.find_element(By.CLASS_NAME, 'header').text
print(class_name)
# 综合 科技 娱乐 社区 购物 财经 开发 校务 报刊 热点资讯

# 通过元素的 ID 属性进行定位
ID = driver.find_element(By.ID, 'regbox')
print(ID)
# <selenium.webdriver.remote.webelement.WebElement (session="ad44a579fb522248cf88bdd13a2f54e3",
# element="f.537DE79A6BB2F55B2759F2DFFCC6F0CA.d.0FA0C5957077950BD0F1A3D1BF5F92F2.e.32")>


# 通过标签名进行定位
div = driver.find_elements(By.TAG_NAME, 'div')
print(div)
# [<selenium.webdriver.remote.webelement.WebElement (session="e4492d752e6b8da3cfd609afcfbccdae",
# element="f.3B12F351523F220A288B95A2C4D01859.d.B20600EBF051C913695EA58BA9CB4C8C.e.32")>,

# Link 文字 使用 By.PARTIAL_LINK_TEXT 定位链接文本包含 "抖音热搜" 的链接元素
link = driver.find_element(By.LINK_TEXT,'微博热榜').text
print(link) # 微博热榜


# 2. 使用 By.PARTIAL_LINK_TEXT 定位链接文本包含 "抖音热搜" 的链接元素
element_partial_link_text = driver.find_element(By.PARTIAL_LINK_TEXT, '抖音热搜')
print("使用 By.PARTIAL_LINK_TEXT 定位到的元素:", element_partial_link_text)

# 3. 使用 By.XPATH 定位版权声明的文本元素
element_xpath = driver.find_element(By.XPATH, '//div[@class="copyright"]')
print("使用 By.XPATH 定位到的元素:", element_xpath.text)
# 使用 By.XPATH 定位到的元素: 长沙艾特米文化传播有限公司 版权所有 Copyright © 2021.All rights reserved  湘ICP备2023007990号-2

# 4. 使用 By.CSS_SELECTOR 定位友情链接区域的 div 元素
element_css_selector = driver.find_element(By.CSS_SELECTOR, 'div.slider')
print("使用 By.CSS_SELECTOR 定位到的元素:", element_css_selector)
# 使用 By.CSS_SELECTOR 定位到的元素: <selenium.webdriver.remote.webelement.WebElement (session="39726edd1aa39980fa6cde954badc541",
# element="f.B1C654BA4808D1AA32F9030DC93C7165.d.187CC1011407A47EF6446A2E60BA9DD5.e.588")>


# 关闭浏览器
driver.close()

CC1011407A47EF6446A2E60BA9DD5.e.588")>

关闭浏览器

driver.close()




































































































































本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/570293.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

代码随想录算法训练营第四十九天| LeetCode121. 买卖股票的最佳时机、122.买卖股票的最佳时机II

一、LeetCode121. 买卖股票的最佳时机 题目链接/文章讲解/视频讲解&#xff1a;https://programmercarl.com/0121.%E4%B9%B0%E5%8D%96%E8%82%A1%E7%A5%A8%E7%9A%84%E6%9C%80%E4%BD%B3%E6%97%B6%E6%9C%BA.html 状态&#xff1a;已解决 1.思路 学了双指针的同学可能会下…

「ETL趋势」FDL数据中心库/表查看和调试功能上线、数据源新增支持MongoDB写入

FineDataLink作为一款市场上的顶尖ETL工具&#xff0c;集实时数据同步、ELT/ETL数据处理、数据服务和系统管理于一体的数据集成工具&#xff0c;进行了新的维护迭代。本文把FDL4.1.6最新功能作了介绍&#xff0c;方便大家对比&#xff1a;&#xff08;产品更新详情&#xff1a;…

float类型的存储

float类型的存储 在计算机科学中&#xff0c;float类型通常指的是单精度浮点数。它是一种用于近似表示实数的方法&#xff0c;特别适用于表示很大或很小的数。float类型在大多数编程语言中遵循IEEE 754标准&#xff0c;这是一个国际标准&#xff0c;用于确保在不同计算机和编程…

了解DNS洪水攻击

域名系统 (DNS) 服务器是互联网的“电话簿“&#xff1b;互联网设备通过这些服务器来查找特定 Web 服务器以便访问互联网内容。在互联网中&#xff0c;DNS 洪水是一种网络攻击方式。 DNS 洪水攻击是一种分布式拒绝服务 (DDoS) 攻击&#xff0c;攻击者用大量流量淹没某个域的 D…

【苍穹外卖】Redis缓存菜品数据-业务逻辑分析

目录 Redis缓存菜品数据-业务逻辑分析1. 需求2. 需要考虑的问题3. 缓存逻辑分析4. 缓存流程图 Redis缓存菜品数据-业务逻辑分析 1. 需求 在菜品展示页面&#xff0c;用户点击每一个分类都会访问一次MySQL数据库数据&#xff0c;当大量用户使用发出大量请求时&#xff0c;会对…

【题目2】 大衍数列,斐波拉契数列等,用VBA 和python解决

目录 0 原始题目&#xff1a;大衍数列 0.1 原始题目 0.2 知识点 1 大衍数列 1.1 大衍数列定义 1.1.1 大衍数列定义 1.1.2 大衍数列注意点 1.2 用VBA实现大衍数列 1.3 用python实现大衍数列 2 斐波拉契数列 /兔子数列/ 黄金分割数列 2.1 斐波拉契数列定义 2.1.1 下面…

AI预测福彩3D第9套算法实战化测试第1弹2024年4月24日第2次测试

今天继续进行新算法的测试&#xff0c;今天是第2次测试。好了&#xff0c;废话不多说了&#xff0c;直接上图上结果。 2024年4月24日福彩3D预测结果 6码定位方案如下&#xff1a; 百位&#xff1a;1、0、2、3、6、7 十位&#xff1a;2、4、1、6、0、5 个位&#xff1a;3、2、4、…

第二证券|股票做短线要关注什么?

在股市中短线交易因其快速的盈利时机而招引了众多投资者&#xff0c;但做短线想要挣钱也不是那么容易的。对于股票做短线要重视什么&#xff0c;第二证券下面就为我们具体介绍一下。 短线交易需重视&#xff1a; 1、商场短期趋势。短线投资者首先需要重视的是全体商场趋势&am…

jsp实验11 JavaBean

二、实验项目内容&#xff08;实验题目&#xff09; 编写代码&#xff0c;掌握javabean的用法。【参考课本 上机实验 5.5.2 】 三、源代码以及执行结果截图&#xff1a; 源代码&#xff1a; Memory.java package sea.water; import java.util.ArrayList; import java.util…

C语言实现简单CRC校验

目录 一、实现题目 二、send模块 三、receive模块 四、运行截图 一、实现题目 二、send模块 #include <stdio.h> #include <string.h>// 执行模2除法&#xff0c;并计算出余数&#xff08;CRC校验码&#xff09; //dividend被除, divisor除数 void divide…

基于STM32的DAC简易信号发生器设计(HAL库)

前言&#xff1a;本文为手把手教学制造 DAC 简易信号发生器的教程&#xff0c;本教程的 MCU 使用 STM32F103ZET6 。以 HAL 库的 DAC 函数作为代码基础进行编程&#xff0c;使得信号发生器可以产生各种类型的信号波&#xff0c;包括&#xff1a;方波、三角波、正弦波和噪声波&am…

kafka部分partition的leader=-1修复方案整理

kafka部分partition的leader-1修复方案整理 1. 背景说明2. 修复测试2.1 创建正常的topic并验证生产和消费2.2 停止kafka模拟leader-12.3 修复parition2.4 修复完成验证生产消费是否恢复 3. 疑问和思考3.1 kafka在进行数据消费时&#xff0c;如果有partition的leader-1&#xff…

新火种AI|Devin再次震撼谷歌!但却是以被质疑造假的方式...

作者&#xff1a;小岩 编辑&#xff1a;彩云 我们常说有人的地方就有江湖&#xff0c;就会存在炒作&#xff0c;扒皮和虚伪。没想到&#xff0c;到了人工智能这里&#xff0c;也是一样。 4月9日&#xff0c;一位自称有35年软件工程师经验的网络博主卡尔逐帧复现了人工智能软…

09—DOM和BOM

一、DOM 1、HTML DOM (文档对象模型) 文档对象模型&#xff08;Document Object Model&#xff0c;DOM&#xff09;是表示和操作HTML和XML文档内容的基础API。当网页被加载时&#xff0c;浏览器会根据DOM模型&#xff0c;将结构化文档&#xff08;比如HTML和XML&#xff09;解…

2024年低碳技术与污染控制技术国际学术会议(ICLCTPCT 2024)

2024年低碳技术与污染控制技术国际学术会议(ICLCTPCT 2024) 2024 International Conference on Low carbon technology and pollution control technology 一、【会议简介】 2024年低碳技术与污染控制技术国际学术会议&#xff0c;是交流科研成果的绝佳平台。 这次会议将汇集世…

Python 高质量类编写指南

原文&#xff1a;https://www.youtube.com/watch?vlX9UQp2NwTk 代码&#xff1a;https://github.com/ArjanCodes/examples/tree/main/2023/classguide Python 高质量类编写指南 我们将通过一些方法增加类的可读性和易用性。 通过&#xff08;按照属性或行为&#xff09;拆分类…

大模型检索召回系统:RAG技术的全面调查与未来展望

随着人工智能技术的飞速发展&#xff0c;大型语言模型&#xff08;LLMs&#xff09;在自然语言处理&#xff08;NLP&#xff09;领域取得了显著成就。然而&#xff0c;这些模型在处理特定领域或知识密集型任务时仍面临挑战&#xff0c;如产生错误信息或“幻觉”。为了克服这些难…

docker-compose搭建redis环境:哨兵模式(一主两重两哨兵)

文章目录 0.BG1. 编写docker-compose.yml文件2. 哨兵配置文件sentinel.conf3.启动容器4.模拟故障转移 0.BG redis环境有多中模式&#xff0c;包括Standalone&#xff0c;Cluster和Sentinel模式等。这里介绍一种简单搭建Sentinel模式的方法&#xff0c;搭建一个一主两重两哨兵的…

做视频号小店一年半,内部玩法曝光,今日全盘托出

大家好&#xff0c;我是电商笨笨熊 腾讯推出电商的消息一出来&#xff0c;就成为了电商界的又一关注点&#xff1b; 不少人称腾讯做电商不会长久&#xff0c;也有人称视频号小店必将成为未来电商黑马&#xff1b; 无论是哪种说法&#xff0c;视频号小店我先替大家做了一年半…

进程状态和优先级(进程第2篇)【Linux复习篇】

目录 一、进程状态 1、进程有什么状态&#xff1f; 2、 Linux下的进程状态有什么&#xff1f; 二、进程优先级 1、进程优先级是什么&#xff1f; 2、为什么要有优先级 3、怎么改进程优先级&#xff1f;要改吗&#xff1f; 4、操作系统如何根据优先级开展调度的&#xff…