无法使用 Selenium 无头模式获取 html

问题描述 投票:0回答:1

我无法在无头模式下使用 Selenium 获取网页的 html。没有无头模式一切都很好。下面你可以找到没有图像加载的代码,但是,它没有任何意义:添加或不添加此选项的结果相同。

网址 = https://www.arrow.com/

我尝试过的:

使用铬:

options = Options()
user_agent = 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.2 (KHTML, like Gecko) Chrome/22.0.1216.0 Safari/537.2'
options.add_argument(f'user-agent={user_agent}')
options.add_argument("--window-size=1920,1080")
options.add_argument("–-disable-gpu")
options.add_argument("--disable-blink-features")
options.add_argument("--disable-blink-features=AutomationControlled")
options.add_argument('--headless')
options.add_experimental_option("excludeSwitches", ["enable-automation"])
options.add_experimental_option("prefs", {"profile.managed_default_content_settings.images": 2,})
options.add_experimental_option('useAutomationExtension', False)
s = Service(path to webdriver)
options.binary_location = "C:\Program Files\Google\Chrome\Application\chrome.exe"
driver = webdriver.Chrome(service=s, options = options)
driver.get(url)

和火狐

fireFoxOptions = fireFoxOptions()
fireFoxOptions.add_argument("--headless") 
fireFoxOptions.add_argument("--window-size=1920,1080")
fireFoxOptions.add_argument('--start-maximized')
fireFoxOptions.add_argument('--disable-gpu')
fireFoxOptions.add_argument('--no-sandbox')
ffservices = fireFoxService(path to gekkodriver)
ffdriver = webdriver.Firefox(options=fireFoxOptions, service = ffservices)
ffdriver.get(url)

这两种情况都无法获得真正的 HTML。对于 Chrome,什么都没有,对于 FireFox,页面内容有错误。

python selenium-webdriver web-scraping
1个回答
0
投票

新的无头模式适用于给定的网站。我正在使用 ChromeDriver 版本

125.0.6422.78

© www.soinside.com 2019 - 2024. All rights reserved.