# python 2+ pip install selenium # python 3+ pip3 install selenium
要操控浏览器, 你就要有浏览器的 driver. Selenium 针对几个主流的浏览器都有 driver. 针对 Linux 和 MacOS.
Linux 和 MacOS 下载好之后, 将下载好的”geckodriver”文件放在计算机的 “/usr/bin” 或 “/usr/local/bin” 目录. 并赋予执行权限
sudo cp 你的geckodriver位置 /usr/local/bin
sudo chmod +x /usr/local/bin/geckodriver
暂时只有火狐上有这个插件. 插件 Katalon Recorder 下载的网址在这
这个插件能让你记录你使用浏览器的操作.
安装好火狐上的这个插件后, 打开它.
找到插件上的 record, 点它. 开始你的各种点击工作, 比如我的一连串操作是 (强化学习教程->About页面->赞助页面->教程->数据处理->网页爬虫)
虽然这个代码输出只有 Python2 版本的, 不过不影响. 我们直接将这些圈起来的代码复制. 这将会是 python 帮你执行的行为代码.
开始写 Python 的代码了. 这里十分简单! 我将 selenium 绑定到 Chrome 上 webdriver.Chrome()
. 你可以绑其它的浏览器.
from selenium import webdriver driver = webdriver.Chrome() # 打开 Chrome 浏览器 # 将刚刚复制的帖在这 driver.get("https://morvanzhou.github.io/") driver.find_element_by_xpath(u"//img[@alt=‘强化学习 (Reinforcement Learning)‘]").click() driver.find_element_by_link_text("About").click() driver.find_element_by_link_text(u"赞助").click() driver.find_element_by_link_text(u"教程 ?").click() driver.find_element_by_link_text(u"数据处理 ?").click() driver.find_element_by_link_text(u"网页爬虫").click() # 得到网页 html, 还能截图 html = driver.page_source # get html driver.get_screenshot_as_file("./img/sreenshot1.png") driver.close()
我们可以让 selenium 不弹出浏览器窗口, 让它”安静”地执行操作. 在创建 driver
之前定义几个参数就能摆脱浏览器的身体了.
from selenium.webdriver.chrome.options import Options chrome_options = Options() chrome_options.add_argument("--headless") # define headless driver = webdriver.Chrome(chrome_options=chrome_options) ...
Selenium 能做的事还有很多, 比如填 Form 表单, 超控键盘等等. 欢迎点进去他们的 Python 教学官网.
最后, Selenium 的优点可以很方便的帮你模拟你的操作, 添加其它操作也是非常容易的, 但是也是有缺点的, 不是任何时候 selenium 都很好. 因为要打开浏览器, 加载更多东西, 它的执行速度肯定没有其它模块快. 所以如果你需要速度, 能不用 Selenium, 就不用吧.
相关教程
原文:https://www.cnblogs.com/tanrong/p/10034404.html