我正在制作一个网络抓取程序,但为了避免被反抓取软件阻止,我必须让驱动程序脱离无头模式。有时我还需要重新启动驱动程序以清除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()
不幸的是没有这样的选项/能力。
您可以将
driver
设置为开始最大化
options.add_argument("start-maximized")
但是没有这样的选项如
options.add_argument("start-minimized")
。driver.set_window_position(-2000,0)
创建后立即最小化驱动程序屏幕,但是,这只会在 driver
打开后应用。driver.Manage().Window.Minimize();
我刚刚使用 EdgeDriver 对其进行了测试,它可以工作。我希望它有帮助。