chromedriver+selenium headless嘗試


去年做的幾個selenium+firefox, 今年原爬取網站有變動,陸陸續續修改了幾個,想到了前段時間看到的headless,就試着改造了下.

//原來想用phantomJS,但說實話,坑實在大,對文件下載,尤其是客戶端實時文件下載很不友好,所以一開始就放棄了phantomJS.

原selenium 2.5.3 + firefox 45.

最新selenium 3.11.0, 想着firefox用的有點吐,試試chrome.

chromdriver 2.37  直接放到項目目錄下,硬啟動```

代碼如下:

def Conf_Chrome():
chromedriverpath = 'chromedriver.exe'
chrome_options = Options()
dir = Get_Download_Dir()
prefs = {
'profile.default_content_settings.popups': 0,
'download.default_directory': dir,
"profile.managed_default_content_settings.images": 2
}
chrome_options.add_experimental_option("prefs", prefs)
# chrome_options.add_argument('--proxy-server=http://')
chrome_options.add_argument('--headless')

browser = webdriver.Chrome(executable_path=chromedriverpath, chrome_options=chrome_options)

print u"瀏覽器初始配置完成"
logging.info(u"瀏覽器初始配置完成")
return browser

試了下,后續操作代碼執行正常,可惜headless狀態下,下載文件在本地沒有存儲,注銷后,正常下載存儲.

研究了下網絡上已存在的帖子,說法是下載的文件是服務端實時生成的,沒有固定url,headless狀態下,下載失敗.


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM