美文网首页
Python爬虫之旅之Selenium库的使用

Python爬虫之旅之Selenium库的使用

作者: 奔跑吧技术人 | 来源:发表于2019-01-23 12:49 被阅读237次

前言

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

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

整体步骤


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

核心步骤解读

1. 声明浏览器对象
from selenium import webdriver

browser = webdriver.Chrome()
browser = webdriver.Firefox()
2. 访问页面
    browser = webdriver.Chrome()
    browser.get("http://www.baidu.com")
    print(browser.page_source)
    # browser.close()
3. 查找元素

3.1 在浏览器找到输入框
<input type="text" class="s_ipt" name="wd" id="kw" maxlength="100" autocomplete="off">

3.2 在浏览器找到百度一下按钮
<input type="submit" value="百度一下" id="su" class="btn self-btn bg s_btn">


image.png
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 sleep

from selenium import webdriver

if __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 https://sites.google.com/a/chromium.org/chromedriver/home

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

源码位置

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

Kotlin重构系列分享教程

Kotlin环境搭建
Kotlin重构初体验之告别FindViewById
Kotlin重构如何兼容原先的ButterKnife、EventBus3.1
当ButterKnife8.8.1碰到AndroidX怎么办

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

参考文章:
Selenium
https://baike.baidu.com/item/selenium/18266#reference-[1]-6464537-wrap
https://blog.csdn.net/ywj_486/article/details/80942191
https://bbs.csdn.net/topics/391982455

相关文章

网友评论

      本文标题:Python爬虫之旅之Selenium库的使用

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