博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python爬虫之旅之Selenium库的使用
阅读量:7087 次
发布时间:2019-06-28

本文共 1563 字,大约阅读时间需要 5 分钟。

前言

  • Python是一门计算机程序语言,目前人工智能科学领域应用广泛,应用广泛就表明各种库,各种相关联的框架都是以Python作为主要语言开发出来的。
  • 谷歌的TensorFlow大部分代码都是Python
  • Python虽然是脚本语言,但是因为容易学,迅速成为科学家的工具,从而积累了大量的工具库、架构,人工智能涉及大量的数据计算,用Python是很自然的,简单高效。
  • Python有非常多优秀的深度学习库可用,现在大部分深度学习框架都支持Python,不用Python用谁?

环境以及工具

pyCharm 2018.3.3 Python 3.7.2 Google Chrome 版本 71.0.3578.98(正式版本)(64 位)

效果展示

什么是Selenium

Selenium  是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。 你也许有疑问,怎么爬虫和web自动化测试工具有关系呢?

其实Selenium在爬虫中主要用来解决JavaScript渲染问题

整体步骤


  • 声明浏览器对象
  • 访问页面
  • 查找元素
  • 元素交互操作

核心步骤解读

1. 声明浏览器对象
from selenium import webdriverbrowser = webdriver.Chrome()browser = webdriver.Firefox()复制代码
2. 访问页面
browser = webdriver.Chrome()    browser.get("http://www.baidu.com")    print(browser.page_source)    # browser.close()复制代码
3. 查找元素

3.1 在浏览器找到输入框

3.2 在浏览器找到百度一下按钮

webElement = browser.find_element_by_id("kw")browser.find_element_by_id("su")复制代码
4. 元素交互操作
webElement.send_keys("请您打开微信!关注微信公众号:开发者技术圈")    browser.find_element_by_id("su").click()复制代码

代码展示

from time import sleepfrom selenium import webdriverif __name__ == '__main__':    browser = webdriver.Chrome()    browser.get("http://www.baidu.com")    print(browser.page_source)    # browser.close()    browser.find_element_by_id("kw").send_keys("请您打开微信!关注微信公众号:开发者技术圈")    sleep(2)    browser.find_element_by_id("su").click()复制代码

采坑记录

AndroidStudio3.3selenium.common.exceptions.WebDriverException: Message: 'chromedriver' executable needs to be in PATH. Please see

这个问题的出现是由于chromedriver没找到,只要点击错误提示网站下载下来,放到对应目录下面即可。

源码位置

由于源码太长,相应资源获取方式,请关注公众号并且在后台回复:Python

Kotlin重构系列分享教程

请关注我(分享日常开发)

参考文章:

Selenium

转载地址:http://oggml.baihongyu.com/

你可能感兴趣的文章
c语言全局变量
查看>>
关于解释器风格
查看>>
JS的深度克隆,利用构造函数原型深度克隆
查看>>
Eclipse启动项目没加载到webapps目录下
查看>>
BZOJ 3672 [Noi2014]购票 (熟练剖分+凸壳维护)
查看>>
java集合框架之ArrayList
查看>>
小米手机Toast显示带应用名称问题解决方法
查看>>
【2018】ios app真机调试到上架App Store完整教程
查看>>
PHP之Smarty模板引擎
查看>>
教孩子学编程 Python
查看>>
linux每日命令(21):find命令之exec
查看>>
drawerLayout 介绍
查看>>
php 使用pathinfo(), parse_url(), basename()解析URL
查看>>
C++内存对齐总结
查看>>
网络流初步详解2
查看>>
CentOS7系统操作httpd服务 - 开机启动/重启/查看状态
查看>>
关于git
查看>>
cocos2d-x3.2 studio -------- 打包apk
查看>>
MySQL问题
查看>>
python web开发 框架 模板 MVC
查看>>