前置條件:下載python,安裝selenium、chrome、chromedriver(要放在/python/scripts目錄下)
用python實現(xiàn)自動讀取txt文件里面的行,當作關鍵字打開瀏覽器百度搜索,將搜索結(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()))#獲取本地時間定義時間戳
driver = webdriver.Chrome()#使用chrome瀏覽器
file = open("E:\Python27\pic.txt")#打開pic.txt
line = file.readline()#定義line為讀取file中的一行
while line:#當line不為空
driver.get("https://www.baidu.com/s?wd="+line.strip('\n'))#getURL為用百度搜line變量的值
driver.save_screenshot(timeStamp+line.strip('\n')+".png")#截圖以時間戳+搜索值命名保存在本地
time.sleep(3)#停頓3s以便看圖
line = file.readline()#讀取下一行
driver.quit()#退出瀏覽器
file.close()#關閉pic.txt文件
Tips:strip() 是去除掉首尾的 “\r\n\t”,rstrip()去除右側(cè)的字符, lstrip()去除左側(cè)的字符
期間遇到一個錯:
ConnectionResetError: [WinError 10054]
遠程主機強迫關閉了一個現(xiàn)有的連接
將代碼做如下調(diào)整:
option= webdriver.ChromeOptions()option.add_argument('--user-data-dir=C:\Program Files\Google\Chrome\Application\\User Data')
#設置成用戶自己的數(shù)據(jù)目錄driver = webdriver.Chrome(chrome_options=option)
又報如下錯誤:
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)
這個錯是因為chrome和chromedriver版本不匹配導致的,如下是版本關系映射表
我用的chrome是v56,所以要對應下載v2.28版本的chromedriver,全版本下載地址:npm.taobao.org/mirrors/chromedriver
最終問題解決,圖片保存成功: