前言
- 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 在浏览器找到百度一下按钮
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重构如何兼容原先的ButterKnife、EventBus3.1
当ButterKnife8.8.1碰到AndroidX怎么办
请关注我(分享日常开发)
参考文章:
Selenium
https://baike.baidu.com/item/selenium/18266#reference-[1]-6464537-wrap