我试图让Selenium打开Chrome,就像我自己打开一样,也就是说,我应该像Facebook一样登录我的账户。在
我有以下代码:
def startChrome():
options = webdriver.ChromeOptions()
options.add_argument("user-data-dir=/Users/alexiseggermont/Library/Application Support/Google/Chrome/Default/")
driver = webdriver.Chrome(chrome_options=options)
driver.set_page_load_timeout(60)
return driver
driver = startChrome()
url = 'https://www.facebook.com'
driver.get(url)
不过,这让我在没有登录的情况下登陆Facebook。我已经检查了chrome://version
,并且配置文件的URL实际上是正确的。我做错什么了?在
使用Python3,Chrome版本63.0.3239.84,MacOS High Sierra
从路径末尾删除
Default/
options.add_argument("user-data-dir=/Users/alexiseggermont/Library/Application Support/Google/Chrome/")
在PC上,它通常类似于:
options.add_argument('user-data-dir=C:/Users/{USERNAME}/AppData/Local/Google/Chrome/User Data')
你需要检查你是否有chromedriver和chrome的兼容版本-最简单的方法就是检查两个版本是否都是最新的。在
如果它在打开时立即崩溃,请选中the chromedriver help page。看看能不能禁用所有扩展。在
除了EnergyNumbers的回答,你还必须确保在启动脚本之前已经退出了chrome。在
在我的例子中,我经常得到错误
Chrome failed to start: exited abnormally (unknown error: DevToolsActivePort file doesn't exist)
但当我在启动脚本之前退出chrome时,这一点立即消失了。显然,同一配置文件的两个实例不能同时打开。在
相关问题 更多 >
编程相关推荐