启动 Selenium chrome 驱动程序最小化(或等效)

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

我正在制作一个网络抓取程序,但为了避免被反抓取软件阻止,我必须让驱动程序脱离无头模式。有时我还需要重新启动驱动程序以清除cookie,因此每当它重新打开时,我都会立即将其最小化,但它仍然会妨碍我做大约一秒钟的事情,并且该程序会运行几个小时,因此非常烦人

我想我可能可以添加一些东西,比如

driver.add_option("start in minimized")
driver.add_option("start in off screen")
(相当于
driver.set_window_position(-2000,0)
,但在驱动程序打开之前

有人知道我可以为此添加选项设置吗?

这就是我当前的代码,尽管这更多的是一个功能问题而不是错误修复问题

import undetected_chromedriver.v2 as uc

def start_uc():
    '''opens a UC chrome driver with prefered settings'''
    options = uc.ChromeOptions()
    # just some options passing in to skip annoying popups
    options.add_argument('--no-first-run --no-service-autorun --password-store=basic')
    return uc.Chrome(options=options)

driver = start_uc()
driver.minimize_window()

for item in list:
    #scrape item info

    if blocked from page:
        driver.close()
        driver = start_uc()
        driver.minimize_window()
python selenium web-scraping undetected-chromedriver
2个回答
2
投票

不幸的是没有这样的选项/能力。
您可以将

driver
设置为开始最大化

options.add_argument("start-maximized")

但是没有这样的选项

options.add_argument("start-minimized")

正如您所提到的,您可以在使用 driver.set_window_position(-2000,0) 创建后立即最小化驱动程序屏幕,但是,这只会在
driver
打开后应用。
    


0
投票

driver.Manage().Window.Minimize();

我刚刚使用 EdgeDriver 对其进行了测试,它可以工作。我希望它有帮助。

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