如何在 python 中隐藏 Chrome 驱动程序?

How to hide Chrome Driver in python?

虽然我知道有人问过这个问题但是我没有找到合适的答案所以我又问了一遍。我使用 PhantomJS 来抓取网站,但它在 Mac 上非常慢,所以我想 tru Chrome 但 Chrome 显示浏览器是坏的,我可以隐藏它吗?我尝试了如下代码,它仍然显示一个小浏览器 window..

browser = webdriver.Chrome()
browser.set_window_position(0, 0)
browser.set_window_size(0, 0)

REF: how-could-i-start-a-selenium-browserlike-firefox-minimized

您可以将浏览器 window 移动到显示器上,如下所示:

driver.set_window_position(-10000,0)

Google 于 2017 年 4 月宣布您可以 运行 无头。

https://developers.google.com/web/updates/2017/04/headless-chrome

chrome_options = Options()
# Chrome v75 and lower:
# chrome_options.add_argument("--headless") 
# Chrome v 76 and above (v76 released July 30th 2019):
chrome_options.headless = True

chrome_options.binary_location = '/Applications/Google Chrome   Canary.app/Contents/MacOS/Google Chrome Canary'  
driver = webdriver.Chrome(executable_path=os.path.abspath(“chromedriver"),   chrome_options=chrome_options)

您应该确定的几件事

  • 如果使用 Mac/Linux 则 chrome 版本应至少为 59
  • 如果使用 Windows,则 chrome 版本应至少为 60
  • 同时使用最新的chrome驱动程序以确保您没有兼容性问题

试试这个!

https://beomi.github.io/2017/09/28/HowToMakeWebCrawler-Headless-Chrome/

options = webdriver.ChromeOptions()
options.add_argument('headless')
options.add_argument('window-size=1920x1080')
options.add_argument("disable-gpu")
# OR options.add_argument("--disable-gpu")

driver = webdriver.Chrome('chromedriver', chrome_options=options)

我觉得可以。

from selenium import webdriver

chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument('headless')
chrome_options.add_argument('window-size=1920x1080')
chrome_options.add_argument("disable-gpu")
driver = webdriver.Chrome('chromedriver', chrome_options=chrome_options)

driver.get('http://google.com')
print(driver.title)
driver.implicitly_wait(3)
driver.get_screenshot_as_file('googleHomePage.png')

driver.quit()