File tree Expand file tree Collapse file tree 1 file changed +17
-0
lines changed Expand file tree Collapse file tree 1 file changed +17
-0
lines changed Original file line number Diff line number Diff line change 7
7
import warnings
8
8
import percy
9
9
import requests
10
+ import tempfile
10
11
11
12
from selenium import webdriver
12
13
from selenium .webdriver .support import expected_conditions as EC
@@ -500,6 +501,22 @@ def _get_chrome(self):
500
501
options .add_argument ("--disable-gpu" )
501
502
options .add_argument ("--remote-debugging-port=9222" )
502
503
504
+ if not self ._remote :
505
+ try :
506
+ # Create a TemporaryDirectory object.
507
+ # It will be cleaned up when self._temp_user_data_dir_manager.cleanup() is called,
508
+ # or when the object is garbage collected if not cleaned up explicitly.
509
+ self ._temp_user_data_dir_manager = tempfile .TemporaryDirectory ()
510
+ user_data_dir_path = self ._temp_user_data_dir_manager .name
511
+ options .add_argument (f"--user-data-dir={ user_data_dir_path } " )
512
+ logger .info (
513
+ f"Chrome using temporary user data directory: { user_data_dir_path } "
514
+ )
515
+ except Exception as e :
516
+ logger .error (
517
+ f"Could not create temporary directory for user-data-dir: { e } "
518
+ )
519
+
503
520
chrome = (
504
521
webdriver .Remote (command_executor = self ._remote_url , options = options ) # type: ignore[reportAttributeAccessIssue]
505
522
if self ._remote
You can’t perform that action at this time.
0 commit comments