我很难让chrome portableapps与chromedrivers一起工作,也很难获得通用的"data:,"
崩溃指示器。
所有**options
**对"data:,"
结果没有影响:
def start(self, proxy=None):
# Setup selenium browser with proxy
options = Options()
options.add_argument('--no-sandbox')
options.add_argument('--disable-dev-shm-usage') # devtoolsactiveport file doesn't exist
options.add_argument('--no-default-browser-check')
options.add_argument('--no-first-run')
options.add_argument('--disable-gpu')
options.add_argument('--disable-extensions')
options.add_argument('--disable-default-apps')
#options.add_argument('--incognito')
#options.add_argument('--headless')
#options.add_argument('--hide-scrollbars')
#options.add_argument('--log-level=3') # fatal messages only, to subpress other messages
options.binary_location = self.loc_executable
if proxy: #optional proxy
options.add_argument('--proxy-server=%s' % proxy)
# automation hiding
#options.add_argument('--disable-blink-features=AutomationControlled')
#options.add_experimental_option('excludeSwitches', ['enable-logging', 'enable-automation'])
#options.add_experimental_option('useAutomationExtension', False)
# One static browser driver
self.driver = webdriver.Chrome(options=options, executable_path = self.loc_webdriver)
self.driver.execute_script("Object.defineProperty(navigator, 'webdriver', {get: () => undefined})")
self.driver.execute_cdp_cmd('Network.setUserAgentOverride', {"userAgent": user_agent} )
self.driver.get("https://www.google.com")
我猜 portableapps 版本和 chromedriver 不匹配。
- Chrome驱动程序107.0.5304.62便携式应用程序版本107.0.5304.107
- Chrome驱动程序108.0.5359.71便携应用程序版本108.0.5359.99
- Chrome驱动程序90.0.4430.24便携应用程序版本90.0.4430
2022-12-22编辑有些进展,问题不是版本。应用dir权限和arg后:
chrome_options.add_argument('--user-data-dir=~/.config/google-chrome')
我仍然崩溃:
selenium.common.exceptions.WebDriverException: Message: unknown error: DevToolsActivePort file doesn't exist
当我在user-data-dir中创建一个虚拟的DevToolsActivePort时,webdriver将在运行时 * 删除 * 该文件,然后再次崩溃。
1条答案
按热度按时间bkhjykvo1#
解决方案可在此处找到:WebDriverException: unknown error: DevToolsActivePort file doesn't exist while trying to initiate Chrome Browser
您需要手动设置目录和调试端口