@@ -337,28 +337,44 @@ def SB(
337337 proxy_string = proxy_string [1 :- 1 ]
338338 c_a = chromium_arg
339339 if c_a is None and "--chromium-arg" in arg_join :
340- if "--chromium-arg=" in arg_join :
341- c_a = arg_join .split ("--chromium-arg=" )[1 ].split (" " )[0 ]
342- elif "--chromium-arg " in arg_join :
343- c_a = arg_join .split ("--chromium-arg " )[1 ].split (" " )[0 ]
344- if c_a :
345- if c_a .startswith ('"' ) and c_a .endswith ('"' ):
346- c_a = c_a [1 :- 1 ]
347- elif c_a .startswith ("'" ) and c_a .endswith ("'" ):
348- c_a = c_a [1 :- 1 ]
340+ count = 0
341+ for arg in sys_argv :
342+ if arg .startswith ("--chromium-arg=" ):
343+ c_a = arg .split ("--chromium-arg=" )[1 ]
344+ break
345+ elif arg == "--chromium-arg" and len (sys_argv ) > count + 1 :
346+ c_a = sys_argv [count + 1 ]
347+ if c_a .startswith ("-" ):
348+ c_a = None
349+ break
350+ count += 1
349351 chromium_arg = c_a
350352 d_f = disable_features
351353 if d_f is None and "--disable-features" in arg_join :
352- if "--disable-features=" in arg_join :
353- d_f = arg_join .split ("--disable-features=" )[1 ].split (" " )[0 ]
354- elif "--disable-features " in arg_join :
355- d_f = arg_join .split ("--disable-features " )[1 ].split (" " )[0 ]
356- if d_f :
357- if d_f .startswith ('"' ) and d_f .endswith ('"' ):
358- d_f = d_f [1 :- 1 ]
359- elif c_a .startswith ("'" ) and d_f .endswith ("'" ):
360- d_f = d_f [1 :- 1 ]
354+ count = 0
355+ for arg in sys_argv :
356+ if arg .startswith ("--disable-features=" ):
357+ d_f = arg .split ("--disable-features=" )[1 ]
358+ break
359+ elif arg == "--disable-features" and len (sys_argv ) > count + 1 :
360+ d_f = sys_argv [count + 1 ]
361+ if d_f .startswith ("-" ):
362+ d_f = None
363+ break
364+ count += 1
361365 disable_features = d_f
366+ if agent is None and "--agent" in arg_join :
367+ count = 0
368+ for arg in sys_argv :
369+ if arg .startswith ("--agent=" ):
370+ agent = arg .split ("--agent=" )[1 ]
371+ break
372+ elif arg == "--agent" and len (sys_argv ) > count + 1 :
373+ agent = sys_argv [count + 1 ]
374+ if agent .startswith ("-" ):
375+ agent = None
376+ break
377+ count += 1
362378 user_agent = agent
363379 recorder_mode = False
364380 if recorder_ext :
@@ -679,15 +695,30 @@ def SB(
679695 host_resolver_rules = (
680696 arg_join .split ("--host_resolver_rules=" )[1 ].split ('"' )[0 ]
681697 )
682- if driver_version is None :
683- if "--driver-version=" in arg_join :
684- driver_version = (
685- arg_join .split ("--driver-version=" )[1 ].split (" " )[0 ]
686- )
687- elif "--driver_version=" in arg_join :
688- driver_version = (
689- arg_join .split ("--driver_version=" )[1 ].split (" " )[0 ]
690- )
698+ if driver_version is None and "--driver-version" in arg_join :
699+ count = 0
700+ for arg in sys_argv :
701+ if arg .startswith ("--driver-version=" ):
702+ driver_version = arg .split ("--driver-version=" )[1 ]
703+ break
704+ elif arg == "--driver-version" and len (sys_argv ) > count + 1 :
705+ driver_version = sys_argv [count + 1 ]
706+ if driver_version .startswith ("-" ):
707+ driver_version = None
708+ break
709+ count += 1
710+ if driver_version is None and "--driver_version" in arg_join :
711+ count = 0
712+ for arg in sys_argv :
713+ if arg .startswith ("--driver_version=" ):
714+ driver_version = arg .split ("--driver_version=" )[1 ]
715+ break
716+ elif arg == "--driver_version" and len (sys_argv ) > count + 1 :
717+ driver_version = sys_argv [count + 1 ]
718+ if driver_version .startswith ("-" ):
719+ driver_version = None
720+ break
721+ count += 1
691722 if highlights is not None :
692723 try :
693724 highlights = int (highlights )
0 commit comments