Advertisement
Guest User

Untitled

a guest
Mar 31st, 2020
148
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.55 KB | None | 0 0
  1. """
  2. Contains browser objects.
  3. """
  4. from selenium import webdriver
  5.  
  6. # from selenium.webdriver import Firefox as FirefoxBrowser
  7. # from selenium.webdriver.firefox.options import Options
  8. # from selenium.webdriver.firefox.firefox_binary import FirefoxBinary
  9.  
  10. from project_settings import SETTINGS
  11.  
  12.  
  13. def firefox_options():
  14. """ Set Firefox options """
  15. options = webdriver.firefox.options.Options()
  16. options.headless = False
  17.  
  18. # Set download options
  19. download_dir = SETTINGS["browsers"]["firefox"]["download_path"]
  20. options.set_preference("browser.download.folderList", 2)
  21. options.set_preference("browser.download.manager.showWhenStarting", False)
  22. options.set_preference("browser.download.dir", download_dir)
  23. for whitelisted_file_type in SETTINGS["browsers"]["firefox"][
  24. "whitelisted_file_types"
  25. ]:
  26. options.set_preference(
  27. "browser.helperApps.neverAsk.saveToDisk", whitelisted_file_type
  28. )
  29.  
  30. return options
  31.  
  32.  
  33. class Firefox(webdriver.Firefox):
  34. """ Represents a firefox browser controlled by selenium """
  35.  
  36. def __init__(
  37. self,
  38. firefox_binary=webdriver.firefox.firefox_binary.FirefoxBinary(
  39. SETTINGS["browsers"]["firefox"]["binary_path"]
  40. ),
  41. executable_path=SETTINGS["browsers"]["firefox"]["driver_path"],
  42. firefox_options=firefox_options(),
  43. ):
  44. super().__init__(
  45. firefox_binary=firefox_binary,
  46. executable_path=executable_path,
  47. firefox_options=firefox_options,
  48. )
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement