Python+Selenium自动化-安装模块和浏览器驱动操作方法


1.安装模块文件

pip install selenium

2.安装浏览器驱动

  • 我们主要用的浏览器驱动有chrome浏览器firefox浏览器、还有就是无界面的chrome浏览器

2.1.ChromeDriver驱动

  • 首先,下载安装Chrome浏览器,这个很简单,就不在说明了。
  • 安装ChromeDriver驱动,只有安装ChromeDriver,才能驱动Chrome浏览器完成相应的操作。

2.1.1.相关链接

2.1.2.查看Chrome版本

  • 点击Chrome菜单“帮助”→“关于Google Chrome”,即可查看Chrome的版本号.

2.1.3.下载ChromeDriver

  • 打开ChromeDriver的官方网站,根据我们Chrome浏览器的版本号,下载对应的ChromeDriver驱动。

2.1.4.环境变量配置

  • 在Windows下,下载完成后,将ChromeDriver的可执行文件chromedriver.exe文件拖到Python的Scripts目录下。

2.2.GeckoDriver驱动

  • 对于Firefox浏览器来说,我们需要安装另一个驱动GeckoDriver。

2.2.1.相关链接

2.2.2.下载GeckoDriver

  • 在GitHub上找到GeckoDriver的发行版本,然后根据自己的系统和位数选择对应的驱动下载。

2.2.3.环境变量配置

  • 在Windows下,直接将geckodriver.exe文件拖到Python的Scripts目录下。

3.实例

  • 检查准备工作是否完善,简单进行下测试。使用selenium和Chrome驱动打开指定url网页。
# 1-导入模块文件
from selenium import webdriver
# 2-初始化浏览器为chrome浏览器
brower = webdriver.Chrome()
# 3-这里我们打开的是百度首页
brower.get('https://www.baidu.com/')
# 4-打印下网页标题
print(brower.title)
# 5-关闭浏览器
brower.quit()

完成后,程序会在控制台输出:百度一下,你就知道

4.浏览器操作方法

  • Chrome浏览器驱动、Firefox浏览器驱动、无界面的chrome浏览器操作方法
# 1.初始化浏览器为chrome浏览器
browser = webdriver.Chrome() # 2. 初始化浏览器为firefox浏览器
browser = webdriver.Firefox() # 3. 初始化浏览器为无界面的chrome浏览器
option = webdriver.ChromeOptions()
option.add_argument("headless")
driver = webdriver.Chrome(chrome_options=option)

Python+Selenium自动化-安装模块和浏览器驱动操作方法的更多相关文章

  1. Python+Selenium 自动化实现实例-打开浏览器模拟进行搜索数据并验证

    #导入模块 from selenium import webdriverfrom selenium.webdriver.common.keys import Keys #启动火狐浏览器driver = ...

  2. Python+selenium 自动化-启用带插件的chrome浏览器,调用浏览器带插件,浏览器加载配置信息。

    Python+selenium 自动化-启用带插件的chrome浏览器,调用浏览器带插件,浏览器加载配置信息.   本文链接:https://blog.csdn.net/qq_38161040/art ...

  3. Python+Selenium自动化-设置浏览器大小、刷新页面、前进和后退

    Python+Selenium自动化-设置浏览器大小.刷新页面.前进和后退   1.设置浏览器大小 maximize_window():设置浏览器大小为全屏 set_window_size(500,5 ...

  4. Python+Selenium自动化总结

    Python+Selenium自动化总结 1.环境搭建 1.1.安装selenium模块文件 pip install selenium 1.2.安装ChromeDriver驱动 [1]下载安装Chro ...

  5. Python+Selenium自动化-设置等待三种等待方法

    Python+Selenium自动化-设置等待三种等待方法   如果遇到使用ajax加载的网页,页面元素可能不是同时加载出来的,这个时候,就需要我们通过设置一个等待条件,等待页面元素加载完成,避免出现 ...

  6. Python+Selenium自动化 模拟鼠标操作

    Python+Selenium自动化 模拟鼠标操作   在webdriver中,鼠标的一些操作如:双击.右击.悬停.拖动等都被封装在ActionChains类中,我们只用在需要使用的时候,导入这个类就 ...

  7. python+selenium自动化登录dnf11周年活动界面领取奖励登录部分采坑总结[1]

    背景: Dnf的周年庆活动之一,游戏在6月22日 06:00~6月23日 06:00之间登陆过游戏后可以于6月25日 16:00~7月04日 06:00领取奖励 目标:连续四天自动运行脚本,自动领取所 ...

  8. Python+Selenium自动化-清空输入框、输入内容、点击按钮

    Python+Selenium自动化-清空输入框.输入内容.点击按钮   1.输入内容 send_keys('valve'):输入内容valve #定位输入框 input_box = browser. ...

  9. Python+Selenium自动化-获取页面信息

    Python+Selenium自动化-获取页面信息   1.获取页面title title:获取当前页面的标题显示的字段 from selenium import webdriver import t ...

随机推荐

  1. mysql 随机选取一条符合条件的记录

    暂时记录下: SELECT *  FROM `kw_user` AS t1 JOIN ( SELECT ROUND( RAND( ) * ( ( SELECT MAX( id ) FROM `kw_u ...

  2. hdu 1298 字典树 + DFS (模拟T9文本输入)

    题意:       给你一些按键顺序,让你输出每一步中概率最大的那个单词,这里的概率计算方 法好好看看别弄错了,一开始就是因为弄错了,各种wa,比如 abc 1 ,ab 1,那么 ab 的概率就是2 ...

  3. hdu1815 2sat + 二分 + 建图

    题意:       给你两个总部,s1 ,s2,和n个点,任意两点之间都是通过这个总部相连的,其中有一些点不能连在同一个总部上,有一些点可以连接在同一个总部上,总部和总部之间可以直接连接,就是假如a, ...

  4. 在Windows上使用终端模拟程序连接操作Linux以及上传下载文件

    在Windows上使用终端模拟程序连接操作Linux以及上传下载文件 [很简单,就是一个工具的使用而已,放这里是做个笔记.] 刚买的云主机,或者是虚拟机里安装的Linux系统,可能会涉及到在windo ...

  5. Ext.MessageBox.alert()弹出对话框详解

    Ext.MessageBox是一个工具类,他继承自Obiect对象,用来生成各种风格的信息提示对话框,Ext.Msg是该类的别名,使用Ext.MessageBox和用Ext.Msg效果是一样的,而后者 ...

  6. Andrew Ng机器学习算法入门(八):正规方程

    正规方程 在先学习正规方程之前,先来复习一下之前学过的常规的回归方程的解法. 假设存在如果的代价函数, ,解法也十分的简答. 但是有时候遇到的情况或许会变得相当的复杂. 的数,如果是按照常规的方式进行 ...

  7. Redis—简单动态字符串(SDS)

    目录 Redis-简单动态字符串(SDS) SDS的定义 SDS与C字符串的区别 1. 常数复杂度获取字符串长度: 2. 杜绝缓冲区溢出: 3. 减少修改字符串时带来的内存重分配次数 4. 二进制安全 ...

  8. ERROR Invalid options in vue.config.js: "baseUrl" is not allowed

    vue项目 我的这个版本是 3.10.0 module.exports = { baseUrl: process.env.NODE_ENV === 'production' ? './' : '/' ...

  9. RESTful中的PUT和PATCH实践

    先放上后台的在线API文档:SkyBlog Swagger API 在UserApi中,有这样三个接口1. PUT /users/{id} 更新用户信息2. PATCH /users/role/{id ...

  10. 使用constexpr时遇到的小坑

    最近在使用constexpr的时候无意中踩了个小坑. 下面给个小示例: #include <iostream> constexpr int n = 10; constexpr char * ...