如何在Google Cloud虚拟机上运行带undetected_chromedriver的Python Selenium脚本
问题:undetected_chromedriver在Google Cloud虚拟机无头模式下无法运行
我编写了一个Python Selenium脚本用于爬取目标网站,该网站会拦截原生Selenium,因此只能使用undetected_chromedriver。
脚本在本地环境运行正常,但部署到Google Cloud虚拟机后无法工作——因为undetected_chromedriver似乎必须以非无头模式启动。我需要让脚本在虚拟机上24/7持续运行,但不知道如何调整才能让它在无头模式下正常执行。
以下是我的最简版本脚本:
import undetected_chromedriver as uc from selenium.webdriver.chrome.options import Options import time # 设置Chrome选项 chrome_options = Options() chrome_options.add_argument("start-maximized") # 最大化视窗 chrome_options.add_experimental_option('excludeSwitches', ['enable-logging', 'enable-automation', 'disable-popup-blocking']) # 禁用弹窗以加速浏览 chrome_options.add_experimental_option("detach", True) # Selenium命令执行完成后保持Chrome窗口打开 chrome_options.add_experimental_option('prefs', {'intl.accept_languages': 'en,en_US'}) # 以英文作为Chrome主要语言 chrome_options.add_argument('--blink-settings=imagesEnabled=false') # 禁用图片加载 chrome_options.add_argument('--disable-extensions') # 禁用扩展 # chrome_options.add_argument("--headless=new") # 无头模式运行Selenium,无法与undetected_chromedriver兼容 chrome_options.add_argument('--no-sandbox') # 禁用沙箱,仅用于测试场景 chrome_options.add_argument('--disable-gpu') # 无头模式兼容设置,新版本Selenium可能无需此参数 chrome_options.add_argument("--window-size=1920x1080") # 设置Chrome窗口尺寸 chrome_options.add_experimental_option('useAutomationExtention', False) # 全局参数 base_url = "https://otv.verwalt-berlin.de/ams/TerminBuchen" # 初始化Chrome驱动 driver = uc.Chrome(chrome_options=chrome_options) # 访问目标网站 driver.get(base_url) # 最大化窗口 driver.maximize_window() # 等待5秒后关闭驱动 time.sleep(5) driver.quit()
内容的提问来源于stack exchange,提问作者oelmaria
相关产品推荐
相关产品推荐

