在centos中使用無頭chrome報以下錯誤
selenium.common.exceptions.WebDriverException: Message: unknown error: DevToolsActivePort file doesn't exist
解決辦法
禁用sandbox
from selenium.webdriver.chrome.options import Options
from selenium import webdriver
chrome_options = Options()
#加上下面兩行,解決報錯
chrome_options.add_argument('--no-sandbox')
chrome_options.add_argument('--disable-dev-shm-usage')
chrome_options.add_argument('window-size=1920x3000') #指定瀏覽器分辨率
chrome_options.add_argument('--disable-gpu') #谷歌文檔提到需要加上這個屬性來規避bug
chrome_options.add_argument('--hide-scrollbars') #隱藏滾動條, 應對一些特殊頁面
chrome_options.add_argument('blink-settings=imagesEnabled=false') #不加載圖片, 提升速度
chrome_options.add_argument('--headless') #瀏覽器不提供可視化頁面. linux下如果系統不支持可視化不加這條會啟動失敗
# chrome_options.binary_location = r"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" #手動指定使用的瀏覽器位置
driver=webdriver.Chrome(chrome_options=chrome_options)#executable_path驅動路徑
driver.get('http://www.baidu.com')
print(driver.page_source)
成功運行chromedriver
