我正试图用python在远程调试模式下同时控制两个不同的Chrome驱动程序(Windows 10(。当我通过终端用chrome.exe –remote-debugging-port=9222 –user-data-dir=C:myfiles
打开第一个浏览器,然后用python将Selenium连接到它时,一切都很好:
chrome_options = Options()
chrome_options.add_experimental_option("debuggerAddress", "127.0.0.1:9222")
driver = webdriver.Chrome(r'C:chromedriver', chrome_options=chrome_options)
到目前为止还不错,浏览器运行良好。但是,当我试图在上一个浏览器仍在运行的情况下用不同的端口复制它时,连接不起作用。第二个浏览器确实打开了,但Selenium无法连接到它。chrome.exe –remote-debugging-port=1559 –user-data-dir=C:myfiles
chrome_options = Options()
chrome_options.add_experimental_option("debuggerAddress", "127.0.0.1:1559")
driver = webdriver.Chrome(r'C:chromedriver', chrome_options=chrome_options)
它思考了大约30秒,然后给出了一个错误:
WebDriverException:消息:未知错误:无法连接到127.0.0.1:1559的chrome从铬无法到达
你知道我这里缺少什么吗?
您需要为每个端口启动新的chrome配置文件。
- 为新配置文件创建空文件夹,例如e:\chromeprofile\28180,e:\chroneprofile\28280
- 运行start cmd:
启动chrome--远程调试端口=28180--用户数据目录=E:\chromeprofile\28180
启动chrome--远程调试端口=28280--用户数据目录=E:\chromeprofile\28280
到目前为止,我的测试结果是调试端口不会改变,直到你关闭所有以前打开的chrome浏览器,然后运行"chrome.exe–远程调试端口=1559–用户数据目录=C:\myfiles"命令这样新的港口就可以运作了。我的chrome浏览器版本是v105。谢谢