资讯专栏INFORMATION COLUMN

Selenium + ChromeDriver

aikin / 756人阅读

摘要:可以根据我们的指令,让浏览器自动加载页面,获取需要的数据,甚至页面截屏,或者判断网站上某些动作是否发生。自己不带浏览器,不支持浏览器的功能,它需要与第三方浏览器结合在一起才能使用。

Selenium

Selenium是一个Web的自动化测试工具,最初是为网站自动化测试而开发的,类型像我们玩游戏用的按键精灵,可以按指定的命令自动操作,不同是Selenium 可以直接运行在浏览器上,它支持所有主流的浏览器(包括PhantomJS,Chrome这些无界面的浏览器)。

Selenium 可以根据我们的指令,让浏览器自动加载页面,获取需要的数据,甚至页面截屏,或者判断网站上某些动作是否发生。

Selenium 自己不带浏览器,不支持浏览器的功能,它需要与第三方浏览器结合在一起才能使用。但是我们有时候需要让它内嵌在代码中运行,所以我们可以用一个叫 PhantomJS 的工具代替真实的浏览器。

可以从 PyPI 网站下载 Selenium库https://pypi.python.org/simpl...
也可以用 第三方管理器 pip用命令安装(windows 环境):pip install selenium
Selenium 官方参考文档:http://selenium-python.readth...
ChromeDriver

下载ChromeDriver

https://npm.taobao.org/mirror...

找到最新日期的版本,可以查看notes.txt文档,选择支持的Chrome浏览器的版本

解压 chromedriver_win32.zip

将 chromedriver.exe 移动到 Python安装目录下
(其实放哪都可以,但是需要配环境变量,放Python安装目录下省事)

简单的小介绍
# coding=utf-8
# 导包
from selenium import webdriver
import time

if __name__ == "__main__":

    # 1. 创建浏览器对象
    driver = webdriver.Chrome()

    # 2. 发送请求
    driver.get("https://www.baidu.com")

    # 3. 获取数据
    # data = driver.page_source
    # with open("baidu.html", "w") as f:
    #     f.write(data.encode("utf-8"))

    # 给搜索框 输入数据: 数据 必须是unicode
    driver.find_element_by_id("kw").send_keys(u"segmentfault")
    # 然后点击
    # driver.find_element_by_id("su").click()
    # webdriver 也支持xpath
    driver.find_element_by_xpath("//*[@id="su"]").click()

    time.sleep(3)

    # 浏览器有几个标签页
    print driver.window_handles
    
    # 屏幕快照
    driver.save_screenshot("baidu.png")

    # 点击搜索结果的第一条
    driver.find_element_by_xpath("//*[@id="1"]/h3/a").click()

    # time.sleep(3)

    # 因为点击之后会打开一个新的标签,所以需要跳到新的标签
    # driver.switch_to_window(driver.window_handles[1])

    print driver.window_handles

    # 4. 屏幕快照
    driver.save_screenshot("baidu1.png")

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/44665.html

相关文章

  • Python3网络爬虫实战---1、请求库安装:Requests、Selenium、ChromeDr

    摘要:下一篇文章网络爬虫实战请求库安装爬虫可以简单分为几步抓取页面分析页面存储数据。相关链接官方网站官方文档中文文档安装验证安装进入命令行交互模式,导入一下包,如果没有报错,则证明安装成功。 下一篇文章:Python3网络爬虫实战---2、请求库安装:GeckoDriver、PhantomJS、Aiohttp 爬虫可以简单分为几步:抓取页面、分析页面、存储数据。 在第一步抓取页面的过程中,...

    wawor4827 评论0 收藏0
  • 安装seleniumchromedriver 驱动时问题的解决

    摘要:小白的我想学习开始爬虫,根据学习教程感谢哈希大数据公众号的分享需要用到和一款谷歌浏览器的驱动。用命令安装安装包以后,下载了安装包文件,一定要下载对应版本的驱动,感谢的分享。由于不想每次都设置的绝对路径,就按操作设置环境变量。 小白的我想学习开始爬虫,根据学习教程(感谢哈希大数据公众号的分享)需要用到selenium和一款谷歌浏览器的驱动chromedriver。用pip命令安装sele...

    DevTTL 评论0 收藏0
  • Selenium + chromeDriver + Python3 完成 Flash 播放

    摘要:在使用截图时,遇上无法加载,导致了截图是空白区。否则无法直接修改的设置。 在使用 selenium + chromeDriver + python3 截图时,遇上 Flash 无法加载,导致了截图 Falsh 是空白区。 环境要求:selenium chromeDriver Python3 问题 chrome 无头浏览器无法自动加载 Flash 解决办法 参考了 allow-flash...

    Hancock_Xu 评论0 收藏0
  • python+selenium-12306实战解决登录滑块问题

    摘要:实战解决登录滑块问题写在前面遇到的问题解决办法登录过程如何使用开发者模式参考写在前面尝试自动化测试或初级爬虫登录模块以及滑块验证可参考本篇文章。 python+s...

    dongxiawu 评论0 收藏0

发表评论

0条评论

aikin

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<