前置條件:下載python,安裝selenium、chrome、chromedriver(要放在/python/scripts目錄下)
用python實(shí)現(xiàn)自動(dòng)讀取txt文件里面的行,當(dāng)作關(guān)鍵字打開瀏覽器百度搜索,將搜索結(jié)果截圖保存在本地,腳本如下:
#/usr/bin/env/python
#-*-coding=utf-8-*-
from selenium import webdriver #引入webdriver模塊
import time #引入time模塊
timeStamp = time.strftime("%Y%m%d%H%M%S", time.localtime(time.time()))#獲取本地時(shí)間定義時(shí)間戳
driver = webdriver.Chrome()#使用chrome瀏覽器
file = open("E:\Python27\pic.txt")#打開pic.txt
line = file.readline()#定義line為讀取file中的一行
while line:#當(dāng)line不為空
driver.get("https://www.baidu.com/s?wd="+line.strip('\n'))#getURL為用百度搜line變量的值
driver.save_screenshot(timeStamp+line.strip('\n')+".png")#截圖以時(shí)間戳+搜索值命名保存在本地
time.sleep(3)#停頓3s以便看圖
line = file.readline()#讀取下一行
driver.quit()#退出瀏覽器
file.close()#關(guān)閉pic.txt文件
Tips:strip() 是去除掉首尾的 “\r\n\t”,rstrip()去除右側(cè)的字符, lstrip()去除左側(cè)的字符
期間遇到一個(gè)錯(cuò):
ConnectionResetError: [WinError 10054]
遠(yuǎn)程主機(jī)強(qiáng)迫關(guān)閉了一個(gè)現(xiàn)有的連接
將代碼做如下調(diào)整:
option= webdriver.ChromeOptions()option.add_argument('--user-data-dir=C:\Program Files\Google\Chrome\Application\\User Data')
#設(shè)置成用戶自己的數(shù)據(jù)目錄driver = webdriver.Chrome(chrome_options=option)
又報(bào)如下錯(cuò)誤:
selenium.common.exceptions.WebDriverException: Message: unknown error: Runtime.executionContextCreated has invalid 'context':
{"auxData":{"frameId":"4692.1","isDefault":true},"id":1,"name":"","origin":"://"}(Session info: chrome=56.0.2924.87)
(Driver info: chromedriver=2.9.248315,platform=Windows NT 6.1 SP1 x86)
這個(gè)錯(cuò)是因?yàn)?strong>chrome和chromedriver版本不匹配導(dǎo)致的,如下是版本關(guān)系映射表

我用的chrome是v56,所以要對(duì)應(yīng)下載v2.28版本的chromedriver,全版本下載地址:npm.taobao.org/mirrors/chromedriver
最終問題解決,圖片保存成功:
