selenium安装谷歌、火狐、Edge

selenium的配置

本节目标:能够成功的在window上配置网页自动化测试工具selenium

本节技术点:selenium,浏览器内核

本节阅读需要(20)min。
本节实操需要(20)min。



前言

通过我其他的博客,大家已经知道了动态网页的特征以及识别方式。
作为爬虫程序员如何处理呢?如何获得数据呢?
同样的作为前端开发的程序员,如何证明你的逻辑是对的,总不是所有的情况都要人工吧?

selenium提供的就是模拟浏览器以及浏览器行为的功能。
这样我们就能去实现触发条件,从而得到数据或验证前端逻辑的正确性。

如果说动态网页是根据行为提供变化,那么selenium就是为了特定的目标而提供行为。
在这里插入图片描述


一、浏览器内核的下载

selenium本身不是浏览器。
想要调用浏览器需要一个内核驱动。
老实说这个过程还是很折腾的。。。

pip install selenium
我们安装的是以下版本的,还是挺新的
selenium 4.2.0
注意自己用的编译器是哪一个,后面文件要用到。可以通过如下命令查看:
where python

Firefox

也叫mozilla.
本实例的浏览器以及驱动器
链接:https://pan.baidu.com/s/1mBPUpSkNWylJmnmp-TZbyA
提取码:0l23

  1. 安装firefox浏览器。安装很容易

  2. 查看firefox的安装目录是否在:环境变量-》系统变量-》path 中,如果不在请添加。查看版本通过
    右侧菜单-》帮助-》关于Firefox

在这里插入图片描述
3. 下载geckodriver,下载网址:
https://github.com/mozilla/geckodriver/releases
win64下载链接

在这里插入图片描述
测试

from selenium import webdriver     #导入webdriver包
from selenium.webdriver.firefox.firefox_binary import FirefoxBinary   #导入friefox webdriver 包
import  time  #调入time函数

binary = FirefoxBinary("C:\\Program Files\\Mozilla Firefox\\firefox.exe")    #加入Firefox的路径,注意转义
driver =webdriver.Firefox(firefox_binary=binary)    #### 定义driver 要操控火狐浏览器 webdriver.firefox

driver.get("http://www.baidu.com")
time.sleep(0.3)  #休眠0.3秒
driver.find_element_by_id("kw").send_keys("selenium")
####一个控件有若干属性id 、name、(也可以用其它方式定位),百度输入框的id 叫kw  我要在输入框里输入 selenium 。
driver.find_element_by_id("su").click()
####搜索的按钮的id 叫su ,我需要点一下按钮( click() )。
time.sleep(3)  # 休眠3秒
print(driver.title)  # 把页面title 打印出来    当没看到整个脚本执行过程时,看到打印出这句话,就说明页面被正确打开了
driver.quit()  #退出并关闭窗口的每一个相关的驱动程序 类似的表弟为 driver.close()
# driver.close()     #关闭当前窗口

一般复制粘贴就可以。。。
出现这个远程控制的机器人就成功了!!!!
在这里插入图片描述

谷歌

我的实例中用到的,亲测有效
链接:https://pan.baidu.com/s/1ZxXVIgFDWWspgM8NQcqilQ
提取码:pmbs

  1. 下载谷歌浏览器.并查看浏览器版本。右边菜单栏选择设置,然后最下面的关于chrome只要在乎前三个最后一个不重要。

在这里插入图片描述2. 安装谷歌驱动
chromedriver下载地址
请根据具体的版本下载.不然无法驱动.
最好安装到你正在适用的python解释器所在的同级目录。
然后添加系统环境变量,主要是Python程序需要外部调用驱动器,所以需要全局的变量名!!!
在这里插入图片描述

3.测试

运行如下代码

from selenium import webdriver
import time
# 创建Chrome浏览器对象
browser = webdriver.Chrome()
#访问百度网站
browser.get('http://www.baidu.com/')
#阻塞3秒
time.sleep(3)
# 自动退出浏览器
browser.quit()

在这里插入图片描述
然后就会展示受到控制,成功了!!!

Edge浏览器

微软是比较特立独行的,几乎前端的大部分基础思维都和其他几家有很大的差别。。。
所以很多网页效果或操作总是分开讨论的。
一个被前端程序员骂死的浏览器。。。

Edge自带的无需安装。。。

1.查看帮助找到版本信息Go to edge://settings/help and note your version of Microsoft Edge.

2.安装对应的driver
driver
可能需要翻墙。

链接:https://pan.baidu.com/s/1zmEX-3r-UEA_vW1_hvRatA
提取码:rygj

因为微软家edge自动更新,所以一般就是最新的。。。
在这里插入图片描述
同样需要添加环境变量!!!

Selenium 4 内置支持 Microsoft Edge。
如果使用 Selenium 4,则无需使用 Selenium Tools for Microsoft Edge。
测试一下

from selenium import webdriver
from selenium.webdriver.common.by import By
import time

driver = webdriver.Edge()

driver.get('https://bing.com')

element = driver.find_element(By.ID, 'sb_form_q')
element.send_keys('WebDriver')
element.submit()

time.sleep(5)
driver.quit()

成功!!!

在这里插入图片描述

二、selenium IDE

这个不是必须的,而且貌似只有火狐狸支持。

暂时不介绍了,后面有机会分享

三、python调用selenium

基本思路而已,但是可能会报错!!!

from selenium import webdriver


driver = webdriver.Firefox()   # Firefox浏览器
# driver = webdriver.Firefox("驱动路径")

driver = webdriver.Chrome()    # Chrome浏览器

driver = webdriver.Edge()      # Edge浏览器

driver = webdriver.PhantomJS()   # PhantomJS

# 打开网页
driver.get(url) # 打开url网页 比如 driver.get("http://www.baidu.com")

查看返回值如果有就算成功。
edge的不要强求,微软家的比较奇怪,其他的两个必须要成功!!!


总结

selenium的本质也可以认为是js.通过js去特定的执行一些点击,移动的命令。
我们注意到其实现在各个浏览器的调用都是不太一样的了。
selenium3.0在firefox浏览器中提供了GeckDriver,需要使用它,也就是说之前的默认自带的driver在selenium30.已经不能使用了,需要使用GeckDriver,GeckDriver代替了之前的自带默认的driver
其实现在都是自己的驱动器了。

如果害怕版本问题,请使用我提供的百度链接里面的。。。但是思路基本一致。

下一讲,介绍如何使用selenium实现各种行为。

后面的文章还会分享,特殊的浏览器–无头浏览器

在这里插入图片描述

  • 6
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

演技拉满的白马

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值