Selenium安装与配置

文章目录

    • 一、selenium安装
      • 1. Python环境准备:
      • 2. 安装Selenium:
      • 3. 浏览器驱动安装:
      • 4. 验证安装:
    • 二、常见问题
      • 1. Selenium版本与浏览器驱动程序不兼容:
      • 2. 浏览器驱动程序路径未正确设置:

Selenium是一个用于Web应用程序测试的自动化工具。它直接运行在浏览器中,模拟真实用户的操作。Selenium支持多种主流浏览器,如IE、Mozilla Firefox、Safari、Google Chrome、Opera和Edge等。在爬取数据的时候对于需要登录后才能爬取的情况往往可以利用Selenium来进行模拟登录,登录后进行数据的获取。这里先介绍Selenium的安装与配置,实现通过python来驱动浏览器进行操作。

一、selenium安装

要安装Selenium,首先需要具备Python开发环境。以下是安装Selenium的步骤:

1. Python环境准备:

  • 打开Python官网:https://www.python.org/downloads/,下载适合你操作系统的Python版本。

  • 安装Python。在window下安装python环境非常简单,直接下一步下一步就可以安装完成。安装过程中,确保将Python添加到环境变量中,以便在命令行中运行Python命令。
    在这里插入图片描述

  • 安装完成后,可以在命令行中输入python --version来验证Python是否安装成功,并查看版本号。
    在这里插入图片描述

2. 安装Selenium:

  • 在命令行中,使用pip(Python的包管理工具)来安装Selenium。输入以下命令并按回车键执行:
  • 如果你的系统有多个Python版本,可能需要使用pip3代替pip。
pip install selenium

3. 浏览器驱动安装:

  • Selenium支持多种浏览器,但每种浏览器都需要相应的驱动程序。例如,对于Chrome浏览器,你需要下载ChromeDriver。
    ○ 访问ChromeDriver的下载页面:https://sites.google.com/a/chromium.org/chromedriver/,选择与你的Chrome浏览器版本相对应的ChromeDriver版本。
    ○ 国内镜像下载站点 https://registry.npmmirror.com/binary.html?path=chromedriver/
    高版本的ChromeDriver可以在https://chromedriver.com/download 下载
  • 下载后,解压(如果需要的话),并将ChromeDriver的路径添加到系统环境变量中,或者将其放在你的项目目录中。比如我的是放到 C:\python\Scripts 并将C:\python\Scripts配置到了系统环境变量中。
    在这里插入图片描述

4. 验证安装:

参考selenium的官方文档,创建一个简单的Python脚本,使用Selenium打开浏览器并访问一个网页。
运行这个脚本。如果一切顺利,它会打开Chrome浏览器并导航到指定的URL,然后关闭浏览器。
代码如下:

from selenium import webdriver
from selenium.webdriver.common.by import Bydriver = webdriver.Chrome()driver.get("https://www.selenium.dev/selenium/web/web-form.html")title = driver.titledriver.implicitly_wait(0.5)text_box = driver.find_element(by=By.NAME, value="my-text")
submit_button = driver.find_element(by=By.CSS_SELECTOR, value="button")text_box.send_keys("Selenium")
submit_button.click()message = driver.find_element(by=By.ID, value="message")
text = message.textdriver.quit()

效果如下:
打开一个浏览器,访问https://www.selenium.dev/selenium/web/web-form.html
在这里插入图片描述

对浏览器中的元素进行操作,最后关闭浏览器。
在这里插入图片描述

请注意,由于Selenium和浏览器驱动程序可能会定期更新,因此在安装和配置过程中,最好参考最新的官方文档和指南。

二、常见问题

在安装Selenium的过程中,可能会遇到一些常见的问题

1. Selenium版本与浏览器驱动程序不兼容:

  • 问题:安装的Selenium版本与浏览器驱动程序版本不兼容。
  • 解决方案:检查Selenium和浏览器驱动程序的版本,确保它们相互兼容。通常,Selenium的最新版本会支持最新的浏览器驱动程序。如果需要,可以降级或升级Selenium或浏览器驱动程序以确保兼容性。

2. 浏览器驱动程序路径未正确设置:

  • 问题:浏览器驱动程序的路径未正确设置,导致Selenium无法找到驱动程序。
  • 解决方案:确保将浏览器驱动程序的路径添加到系统环境变量中,或者在Selenium代码中明确指定驱动程序的路径。例如,对于ChromeDriver,可以在代码中这样设置:
from selenium import webdriver  
driver = webdriver.Chrome(executable_path='/path/to/chromedriver')

后续我们将实战通过selenium来实现登录到淘宝并获取淘宝的商品信息。


作者博客:http://xiejava.ishareread.com/

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2024年1月手机市场行业分析:苹果手机份额骤降,国产高端手机成功逆袭!

小米Ultra发布。 一方面,我们有望看到国产手机再一次超越自己的决心,继续创新追逐高端;另一方面,我们也不得不正视目前手机市场所面临的危机状态。 2024年1月的线上手机市场远不如去年。根据鲸参谋数据显示,今年1月京…

Java面试题之分布式/微服务篇

经济依旧不景气啊,如此大环境下Java还是这么卷,又是一年一次的金三银四。 兄弟们,你准备好了吗?冲冲冲!欧里给! 分布式/微服务相关面试题解 题一:CAP理论,BASE理论题二:…

【2024软件测试面试必会技能】Postman(1): postman的介绍和安装

Postman的介绍 Postman 是一款谷歌开发的接口测试工具,使API的调试与测试更加便捷。 它提供功能强大的 Web API & HTTP 请求调试。它能够发送任何类型的HTTP 请求 (GET, HEAD, POST, PUT..),附带任何数量的参数 headers。 postman是一款支持http协议的接口调试…

springboot整合mybatisPlus超级详细

springboot整合mybatis-plus超级详细 一、环境二、springboot整合myBatisPlus2.1新建2.2 添加Mybatis-plus和mysql依赖2.3 修改配置文件2.4 新建包和文件2.5 新建表2.6 创建实体类2.7 创建Mapper接口2.8 创建Service接口2.9 创建Service实现类2.10 增删改查 MyBatis-Plus&#…

C# Onnx 使用onnxruntime部署实时视频帧插值

目录 介绍 效果 模型信息 项目 代码 下载 C# Onnx 使用onnxruntime部署实时视频帧插值 介绍 github地址:https://github.com/google-research/frame-interpolation FILM: Frame Interpolation for Large Motion, In ECCV 2022. The official Tensorflow 2…

四.QT5工具安装和环境变量的配置

1.以管理员身份运行安装包 2.登录qt账号,点击【next】 3.选中同意 4.选择安装目录,注意不能有中文和空格 5.勾选 64位 mingw。点击【next】,等待安装完成 6.配置环境变量

为什么很多人选用QT开发,有哪些应用实例?

在软件开发领域,Qt框架作为一种跨平台的C应用程序开发框架,近年来受到越来越多开发者的青睐。这主要得益于其卓越的跨平台性能、丰富的功能库、开发效率以及社区支持。以下将通过详实的分析,从不同角度探讨为什么很多人改用QT开发&#xff0c…

力扣645. 错误的集合(排序,哈希表)

Problem: 645. 错误的集合 文章目录 题目描述思路复杂度Code 题目描述 思路 1.排序 1.对nums数组按从小到大的顺序排序; 2.遍历数组时若判断两个相邻的元素则找到重复元素; 3.记录一个整形变量prev一次置换当前位置元素并与其作差,若差等于2着说明缺失的…

Mysql索引操作

1、索引语法 2、慢查询日志 慢查询日志记录了所有执行时间超过指定参数( long_query_time ,单位:秒,默认 10 秒)的所有 SQL 语句的日志。 MySQL 的慢查询日志默认没有开启,我们可以查看一下系统变量 slo…

【2024软件测试面试必会技能】Appium自动化(5):元素定位工具

常用元素定位工具使用 uiautomatorviewer定位工具: 元素定位主要用来获取元素信息,获取元素信息后才能用appium提供的相关API去识别和操作元素。 谷歌在AndroidSDK中,提供了元素定位工具uiautomatorviewer,该工具可在android-s…

三opencv源码解压及环境变量配置

1.双击opencv-3.4.6-vc14-vc15.exe 2.选择解压的路径,点击【extract】 3.设计环境变量

从零学习Linux操作系统第二十七部分 shell脚本中的变量

一、什么是变量 变量的定义 定义本身 变量就是内存一片区域的地址 变量存在的意义 命令无法操作一直变化的目标 用一串固定的字符来表示不固定的目标可以解决此问题 二、变量的类型及命名规范 环境级别 export A1 在环境关闭后变量失效 退出后 关闭 用户级别&#xff…

《初阶数据结构》尾声

目录 前言: 《快速排序(非递归)》: 《归并排序》: 《归并排序(非递归)》: 《计数排序》: 对于快速排序的优化: 分析: 总结: 前言&#xff1a…

新疆营盘古城及古墓群安防舱体实施方案

3 总体布局 3.1设计原则 3.1.1执行有效的国家标准、国家军用标准和行业标准; 3.1.2满足指标要求; 3.1.3采用通用化、模块化设计,提高设备可维修性; 3.1.4采用人机工程学知识进行设计,充分考虑安全性。 3.2 总体…

51单片机学习(3)-----独立按键控制LED的亮灭状态

前言:感谢您的关注哦,我会持续更新编程相关知识,愿您在这里有所收获。如果有任何问题,欢迎沟通交流!期待与您在学习编程的道路上共同进步了。 目录 一. 器件介绍及实验原理 1.独立按键 (1)独…

外包干了3个月,技术退步明显

先说一下自己的情况,本科生,19年通过校招进入广州某软件公司,干了接近4年的功能测试,今年年初,感觉自己不能够在这样下去了,长时间呆在一个舒适的环境会让一个人堕落!而我已经在一个企业干了四年的功能测试…

Linux之用户和用户组的深入了解

目录 一、简介 1.1、用户: 1.2、用户组 1.3、UID和GID 1.3、用户账户分类 查看用户类别 超级用户root(0) 程序用户(1~499) 普通用户(500~65535) 二、用户 2.1、添加新的用户账号:useradd 2.2、删除账号:userdel 有-r与没有-r区别…

运维07:堡垒机

什么是跳板机 跳板机就是一台服务器而已,运维人员在使用管理服务器的时候,必须先连接上跳板机,然后才能去操控内网中的服务器,才能登录到目标设备上进行维护和操作 开发小张 ---> 登录跳板机 ---> 再登录开发服务器 测试…

贷齐乐系统最新版SQL注入(无需登录绕过WAF可union select跨表查询)

一、环境 已上传资源(daiqile) 二、代码解释 1.1Request 不管get请求还是post请求都可以接收到 1.2过滤的还挺多 1.3第二个WAF把数据分为两个了一个Key一个value,全是explode的功劳 1.4submit是if进入的前提 很明显走进来了 1.5那我们在这…

学习JAVA的第三天(基础)

目录 流程控制语句 顺序结构 分支结构 循环结构 分类: 练习 跳转控制语句 练习 数组 数组介绍 数组的定义和静态初始化 数组定义 数组的静态初始化 数组元素访问 数组遍历 数组动态初始化 JAVA内存分配 流程控制语句 顺序结构 是Java程序默认的执行流程…