Hom's Blog


Selenium控制Chrome初探

安装selenium模块:

pip install selenium

下载ChromeDriver

首先去下载ChromeDriver的控制程序 ChromeDriver下载

下载后, 放到一个位置, 在用selenium时调用webdriver时需要调用ChromeDriver(要知道路径). 这里假设把运行脚本和ChromeDriver放在一个目录下, 使用getcwd获取路径. 也可以使用一个自定义路径, 这时就可以用该绝对路径来定义启动位置.

import os, time
from selenium import webdriver
cwd = os.getcwd() + '/'
driver = webdriver.Chrome(cwd + 'chromedriver') # 设置chromedriver, 执行后会打开一个新的浏览器窗口
driver.get('http://www.google.com/'); # 设置浏览器前往位置
time.sleep(3) # 等待3秒缓冲
search_box = driver.find_element_by_name('q') # 取得搜索框,用name去获取DOM
search_box.send_keys('Github') # 在搜尋框內輸入 'Github'
search_box.submit() # 令 chrome 按下 submit按钮.
time.sleep(5) # 缓冲5秒
driver.quit() # 关闭chromedriver(关闭浏览器)

还有

  • clicksave=driver.find_element_by_id('save') 这样根据id获取DOM对象
  • clicksave.click() 模拟点击按钮

例如我抓取sci-hub的文献:

import os, time
from selenium import webdriver
cwd = os.getcwd() + '/'
driver = webdriver.Chrome(cwd + 'chromedriver')
driver.get("http://sci-hub.io/10.1021/a19600193")
# Also can use: `driver.get("http://sci-hub.io/10.1021/a19600193?download=True")` directly download
elem=driver.find_element_by_id('save')
elem.click()
# Or more operation in iteration
driver.quit()

先就简介一下吧, 没空深入研究..待续…

Reference

  1. Introducing the Selenium Webdriver API by Example
  2. Python Selenium 2.0 Documentation
  3. Selenium Documentation
  4. ChromeDriver-Wikilist


◆ 本文地址: http://platinhom.github.io/2016/02/02/Selenium-Chrome/, 转载请注明 ◆

前一篇: Python:MySQLdb模块操作数据库
后一篇: Python:with statement


Contact: Hom / 已阅读()
Source 类别: IT  标签: Software  Python  Internet