selenium安装谷歌、火狐、Edge

selenium的配置

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

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

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


文章目录

  • selenium的配置
  • 前言
  • 一、浏览器内核的下载
    • Firefox
    • 谷歌
    • Edge浏览器
  • 二、selenium IDE
  • 三、python调用selenium
  • 总结


前言

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

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

如果说动态网页是根据行为提供变化,那么selenium就是为了特定的目标而提供行为。
selenium安装谷歌、火狐、Edge_第1张图片


一、浏览器内核的下载

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

selenium安装谷歌、火狐、Edge_第2张图片
3. 下载geckodriver,下载网址:
https://github.com/mozilla/geckodriver/releases
win64下载链接

selenium安装谷歌、火狐、Edge_第3张图片
测试

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只要在乎前三个最后一个不重要。

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

3.测试

运行如下代码

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

selenium安装谷歌、火狐、Edge_第6张图片
然后就会展示受到控制,成功了!!!

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安装谷歌、火狐、Edge_第7张图片
同样需要添加环境变量!!!

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安装谷歌、火狐、Edge_第8张图片

二、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实现各种行为。

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

selenium安装谷歌、火狐、Edge_第9张图片

你可能感兴趣的:(爬虫,selenium,edge,python)