美文网首页
200616.[Selenium]01.Selenium的基本介

200616.[Selenium]01.Selenium的基本介

作者: 风往北吹_风往北吹 | 来源:发表于2020-06-30 17:03 被阅读0次

[Selenium]01.Selenium的介绍

[Toc]

Selenium是一个自动化测试工具,利用它可以驱动浏览器执行特定的动作,如点击、下拉等操作。

Selenium可以获取浏览器当前呈现的页面源代码,做到可见既可爬,对应JavaScript动态渲染的信息爬取非常有效。

官方网址:http://www.seleniumhq.org

官方文档:http://selenium-python.readthedocs.io

中文文档:http://selenium-python-zh.readthedocs.io

Selenium支持非常多的浏览器,如Chrome、Firefox、Edge等,还支持无界面浏览器PhantomJS。

安装

将selenium库安装python中

在系统命令提示符输入

pip install selenium

它会联网从更新库中下载库包,并自动安装更新。

下载chromedriver

想要Python驱动chrome,需要使用ChromeDriver(注意浏览器版本)。

ChromeDriver与Chrome版本对应参照表及ChromeDriver下载链接

ChromeDriver Version Chrome Version
78.0.3904.11 78
77.0.3865.40 77
77.0.3865.10 77
76.0.3809.126 76
76.0.3809.68 76
76.0.3809.25 76
76.0.3809.12 76
75.0.3770.90 75
75.0.3770.8 75
74.0.3729.6 74
73.0.3683.68 73
72.0.3626.69 72
2.46 71-73
2.46 71-73
2.45 70-72
2.44 69-71
2.43 69-71
2.42 68-70
2.41 67-69
2.40 66-68
2.39 66-68
2.38 65-67
2.37 64-66
2.36 63-65
2.35 62-64
  • 根据你的Chrome版本,下载相对应的ChromeDriver。
  • 将chromedriver.exe放在chrome浏览器安装目录下。
  • 同时设置用户环境变量Path:C:\Program Files (x86)\Google\Chrome\Application,指向chrome安装目录。

Windows安装:将解压的文件:chromedriver.exe 放置到浏览器的安装目录下。

Mac/Linux安装:将解压的文件:chromedriver 放置到/usr/local/bin/目录下

PhantomJS驱动的下载地址:http://phantomjs.org/download.html

Selenium的使用

初次体验:模拟谷歌浏览器访问百度首页,并输入python关键字搜索

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.wait import WebDriverWait

#初始化一个浏览器(如:谷歌,使用Chrome需安装chromedriver)
driver = webdriver.Chrome()
#driver = webdriver.PhantomJS() #无界面浏览器
try:
    #请求网页
    driver.get("https://www.baidu.com")
    #查找id值为kw的节点对象(搜索输入框)
    input = driver.find_element_by_id("kw")
    #模拟键盘输入字串内容
    input.send_keys("python")
    #模拟键盘点击回车键
    input.send_keys(Keys.ENTER)
    #显式等待,最长10秒
    wait = WebDriverWait(driver,10)
    #等待条件:10秒内必须有个id属性值为content_left的节点加载出来,否则抛异常。
    wait.until(EC.presence_of_element_located((By.ID,'content_left')))
    # 输出响应信息
    print(driver.current_url)
    print(driver.get_cookies())
    print(driver.page_source)
finally:
    #关闭浏览器
    #driver.close()
    pass

相关文章

网友评论

      本文标题:200616.[Selenium]01.Selenium的基本介

      本文链接:https://www.haomeiwen.com/subject/ywixqktx.html