@@ -53,11 +53,6 @@ class WebDriverCreator:
5353 "internetexplorer" : "ie" ,
5454 "edge" : "edge" ,
5555 "safari" : "safari" ,
56- "phantomjs" : "phantomjs" ,
57- "htmlunit" : "htmlunit" ,
58- "htmlunitwithjs" : "htmlunit_with_js" ,
59- "android" : "android" ,
60- "iphone" : "iphone" ,
6156 }
6257
6358 def __init__ (self , log_dir ):
@@ -307,7 +302,7 @@ def create_edge(
307302 desired_capabilities = self ._remote_capabilities_resolver (
308303 desired_capabilities , defaul_caps
309304 )
310- return self ._remote (desired_capabilities , remote_url )
305+ return self ._remote (desired_capabilities , remote_url , options = options )
311306 if not executable_path :
312307 executable_path = self ._get_executable_path (webdriver .edge .service .Service )
313308 service = EdgeService (executable_path = executable_path , log_path = service_log_path )
@@ -330,112 +325,12 @@ def create_safari(
330325 desired_capabilities = self ._remote_capabilities_resolver (
331326 desired_capabilities , defaul_caps
332327 )
333- return self ._remote (desired_capabilities , remote_url )
328+ return self ._remote (desired_capabilities , remote_url , options = options )
334329 if not executable_path :
335330 executable_path = self ._get_executable_path (webdriver .Safari )
336331 service = SafariService (executable_path = executable_path , log_path = service_log_path )
337332 return webdriver .Safari (options = options , service = service )
338333
339- def create_phantomjs (
340- self ,
341- desired_capabilities ,
342- remote_url ,
343- options = None ,
344- service_log_path = None ,
345- executable_path = "phantomjs" ,
346- ):
347- warnings .warn (
348- "SeleniumLibrary support for PhantomJS has been deprecated, "
349- "please use headlesschrome or headlessfirefox instead."
350- )
351- if remote_url :
352- defaul_caps = webdriver .DesiredCapabilities .PHANTOMJS .copy ()
353- desired_capabilities = self ._remote_capabilities_resolver (
354- desired_capabilities , defaul_caps
355- )
356- return self ._remote (desired_capabilities , remote_url )
357- if options :
358- logger .warn ("PhantomJS browser does not support Selenium options." )
359- if not executable_path :
360- executable_path = self ._get_executable_path (webdriver .PhantomJS )
361- return webdriver .PhantomJS (
362- service_log_path = service_log_path ,
363- executable_path = executable_path ,
364- ** desired_capabilities ,
365- )
366-
367- def create_htmlunit (
368- self ,
369- desired_capabilities ,
370- remote_url ,
371- options = None ,
372- service_log_path = None ,
373- executable_path = None ,
374- ):
375- if service_log_path or options or executable_path :
376- logger .warn (
377- "Htmlunit does not support Selenium options, service_log_path or executable_path argument."
378- )
379- defaul_caps = webdriver .DesiredCapabilities .HTMLUNIT .copy ()
380- desired_capabilities = self ._remote_capabilities_resolver (
381- desired_capabilities , defaul_caps
382- )
383- return self ._remote (desired_capabilities , remote_url , options = options )
384-
385- def create_htmlunit_with_js (
386- self ,
387- desired_capabilities ,
388- remote_url ,
389- options = None ,
390- service_log_path = None ,
391- executable_path = None ,
392- ):
393- if service_log_path or options or executable_path :
394- logger .warn (
395- "Htmlunit with JS does not support Selenium options, service_log_path or executable_path argument."
396- )
397- defaul_caps = webdriver .DesiredCapabilities .HTMLUNITWITHJS .copy ()
398- desired_capabilities = self ._remote_capabilities_resolver (
399- desired_capabilities , defaul_caps
400- )
401- return self ._remote (desired_capabilities , remote_url , options = options )
402-
403- def create_android (
404- self ,
405- desired_capabilities ,
406- remote_url ,
407- options = None ,
408- service_log_path = None ,
409- executable_path = None ,
410- ):
411- if service_log_path or executable_path :
412- logger .warn (
413- "Android does not support Selenium options or executable_path argument."
414- )
415- defaul_caps = webdriver .DesiredCapabilities .ANDROID .copy ()
416- desired_capabilities = self ._remote_capabilities_resolver (
417- desired_capabilities , defaul_caps
418- )
419- return self ._remote (desired_capabilities , remote_url , options = options )
420-
421- def create_iphone (
422- self ,
423- desired_capabilities ,
424- remote_url ,
425- options = None ,
426- service_log_path = None ,
427- executable_path = None ,
428- ):
429- if service_log_path or executable_path :
430- logger .warn (
431- "iPhone does not support service_log_path or executable_path argument."
432- )
433- defaul_caps = webdriver .DesiredCapabilities .IPHONE .copy ()
434- desired_capabilities = self ._remote_capabilities_resolver (
435- desired_capabilities , defaul_caps
436- )
437- return self ._remote (desired_capabilities , remote_url , options = options )
438-
439334 def _remote (self , desired_capabilities , remote_url , profile_dir = None , options = None ):
440335 remote_url = str (remote_url )
441336 file_detector = self ._get_sl_file_detector ()
@@ -620,8 +515,6 @@ def create(self, browser, options):
620515 return selenium_options
621516
622517 def _import_options (self , browser ):
623- if browser == "android" :
624- browser = "chrome" # Android uses ChromeOptions()
625518 browser = browser .replace ("headless_" , "" , 1 )
626519 options = importlib .import_module (f"selenium.webdriver.{ browser } .options" )
627520 return options .Options
0 commit comments