带有Selenium的Chromdriver UserData配置



我有一个硒的简单函数

def config():
path = r'C:UsersGeorgeDesktopBotUser Data'
options = webdriver.ChromeOptions()
options.add_argument('user-data-dir=' + path)
options.add_experimental_option("excludeSwitches", ["enable-automation"])
options.add_experimental_option('useAutomationExtension', False)
options.add_argument('--disable-blink-features=AutomationControlled')
driver = webdriver.Chrome(executable_path=r'C:UsersGeorgeDesktopBotchromedriver.exe', chrome_options=options)
return driver

这很好,正如预期的那样,但我正在制作一个简单的机器人来通过一个需要会话和cookie等的网站执行任务。

因此,我必须不时地复制真实的浏览器用户数据:

C:UsersGeorgeAppDataLocalGoogleChromeUser Data

到我的随机位置

'C:UsersGeorgeDesktopBotUser Data'

它工作得很好,我这样做的原因是我想避免登录,让我使用的浏览器与机器人驱动程序浏览器独立,我通常会把它放下来,在工作时从不打开。

问题

  • 有没有一种方法,我可以自动获得复制文件的当前会话瞬间(比如获得一个打开的选项卡,并附上所有信息(
  • 有更好的方法吗?(我相信有很多更好的方法(

感谢您的帮助,任何建议,链接,博客都非常感激。

您不需要从复制真实的浏览器用户数据

C:UsersGeorgeAppDataLocalGoogleChromeUser Data

至:

C:UsersGeorgeDesktopBotUser Data

如果您将user-data-dir指向真实的googlechrome用户数据目录,则会不时执行以下操作:

def config():
options = webdriver.ChromeOptions()
# next line you need to replace the random location with actual browser data location
options.add_argument(r"--user-data-dir=C:UsersGeorgeAppDataLocalGoogleChromeUser Data") 
options.add_experimental_option("excludeSwitches", ["enable-automation"])
options.add_experimental_option('useAutomationExtension', False)
options.add_argument('--disable-blink-features=AutomationControlled')
driver = webdriver.Chrome(executable_path=r'C:UsersGeorgeDesktopBotchromedriver.exe', chrome_options=options)
return driver

参考文献

你可以在中找到一些相关的详细讨论

  • Selenium:指向默认Chrome会话

相关内容

  • 没有找到相关文章

最新更新