Python爬虫之旅之Selenium库的使用

前言

  • 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 在浏览器找到输入框

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值