Python 3.x 无头模式下的硒不';无法使用用户配置文件

Python 3.x 无头模式下的硒不';无法使用用户配置文件,python-3.x,selenium,browser,selenium-chromedriver,chromium,Python 3.x,Selenium,Browser,Selenium Chromedriver,Chromium,我正在尝试使用用户配置文件在selenium中运行headless测试,以便浏览器登录到我想要运行测试的站点 以下各项运行正常: from selenium import webdriver options = webdriver.ChromeOptions() options.headless = False options.add_argument('window-size=1400,600') options.add_experimental_option("excludeSw

我正在尝试使用用户配置文件在selenium中运行headless测试,以便浏览器登录到我想要运行测试的站点

以下各项运行正常:

from selenium import webdriver

options = webdriver.ChromeOptions()
options.headless = False
options.add_argument('window-size=1400,600')
options.add_experimental_option("excludeSwitches", ["enable-automation"])
options.add_experimental_option('useAutomationExtension', False)
options.add_argument("user-data-dir=accs/_"+"cauchysc") 

driver = webdriver.Chrome(options=options, executable_path="/home/user/Downloads/chromedriver_linux64/chromedriver")
print("A")
driver.get('http://www.yahoo.com')
print(driver.page_source)
driver.save_screenshot('./save_screenshot_method.png') #Capture the screen
driver.quit()
但是,只要我添加了
options.headless=True
站点“yahoo.com”就不会加载,测试将永远运行,直到TimeoutException

Im使用最新的ChromeDriver 87.0.4280.20和Google chrome版本87.0.4280.66(官方版本)(64位)

更新:

根据建议,我删除了add_experimental_选项行

错误堆栈跟踪:

TimeoutException                          Traceback (most recent call last)
<ipython-input-17-7d8202049c6c> in <module>
     10 driver = webdriver.Chrome(options=options, executable_path="/home/user/Downloads/chromedriver_linux64/chromedriver")
     11 print("A")
---> 12 driver.get('http://www.yahoo.com' class="ansi-blue-fg">)
     13 print(driver.page_source)
     14 driver.save_screenshot('./save_screenshot_method.png') #Capture the screen

~/anaconda3/envs/myenv/lib/python3.7/site-packages/selenium/webdriver/remote/webdriver.py in get(self, url)
    331         Loads a web page in the current browser session.
    332         """
--> 333         self.execute(Command.GET, {'url': url})
    334 
    335     @property

~/anaconda3/envs/myenv/lib/python3.7/site-packages/selenium/webdriver/remote/webdriver.py in execute(self, driver_command, params)
    319         response = self.command_executor.execute(driver_command, params)
    320         if response:
--> 321             self.error_handler.check_response(response)
    322             response['value'] = self._unwrap_value(
    323                 response.get('value', None))

~/anaconda3/envs/myenv/lib/python3.7/site-packages/selenium/webdriver/remote/errorhandler.py in check_response(self, response)
    240                 alert_text = value['alert'].get('text')
    241             raise exception_class(message, screen, stacktrace, alert_text)
--> 242         raise exception_class(message, screen, stacktrace)
    243 
    244     def _value_or_default(self, obj, key, default):

TimeoutException: Message: timeout: Timed out receiving message from renderer: 298.701
  (Session info: headless chrome=87.0.4280.66)
TimeoutException回溯(最近一次调用)
在里面
10 driver=webdriver.Chrome(options=options,executable_path=“/home/user/Downloads/chromedriver\u linux64/chromedriver”)
11印刷体(“A”)
--->12.司机,上车http://www.yahoo.com'class=“ansi蓝色fg”>)
13打印(驱动程序页\来源)
14.driver.save_screenshot('./save_screenshot_method.png')#捕获屏幕
get中的~/anaconda3/envs/myenv/lib/python3.7/site-packages/selenium/webdriver/remote/webdriver.py(self,url)
331在当前浏览器会话中加载网页。
332         """
-->333 self.execute(Command.GET,{'url':url})
334
335@property
执行中的~/anaconda3/envs/myenv/lib/python3.7/site-packages/selenium/webdriver/remote/webdriver.py(self,driver_命令,参数)
319 response=self.command\u executor.execute(driver\u command,params)
320如果响应:
-->321自我错误处理程序检查响应(响应)
322响应['value']=self.\u展开值(
323响应。获取('值',无))
检查响应中的~/anaconda3/envs/myenv/lib/python3.7/site-packages/selenium/webdriver/remote/errorhandler.py(self,response)
240警报文本=值['alert']。获取('text')
241引发异常类(消息、屏幕、堆栈跟踪、警报文本)
-->242引发异常类(消息、屏幕、堆栈跟踪)
243
244定义值或默认值(self、obj、key、default):
TimeoutException:消息:超时:从呈现程序接收消息时超时:298.701
(会话信息:无头镀铬=87.0.4280.66)

使用基于文本的错误堆栈跟踪更新问题。删除那些添加选项行时是否有效?@DebanjanB我已添加错误堆栈跟踪。错误发生在driver.get中stage@DMart我删除了add_选项行并重新运行了代码,但仍然不起作用。这就是所有URL?