Skip to content

Commit 2777074

Browse files
authored
Merge pull request #35 from joao-voltarelli/extensions_support
ENH: added support to be able to use extensions in browsers
2 parents 009eb98 + 53ae1c7 commit 2777074

File tree

3 files changed

+14
-2
lines changed

3 files changed

+14
-2
lines changed

botcity/web/bot.py

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1120,6 +1120,20 @@ def leave_iframe(self):
11201120
"""
11211121
self._driver.switch_to.default_content()
11221122

1123+
def install_firefox_extension(self, extension):
1124+
"""
1125+
Install an extension in the Firefox browser.
1126+
This will start the browser if it was not started yet.
1127+
1128+
Args:
1129+
extension (str): The path of the .xpi extension to be loaded.
1130+
"""
1131+
if self.browser != Browser.FIREFOX:
1132+
raise ValueError("install_firefox_extension only works with Firefox.")
1133+
if not self._driver:
1134+
self.start_browser()
1135+
self._driver.install_addon(os.path.abspath(extension))
1136+
11231137
#######
11241138
# Mouse
11251139
#######

botcity/web/browsers/chrome.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,6 @@ def default_options(headless=False, download_folder_path=None, user_data_dir=Non
3232
chrome_options.add_argument("--disable-background-timer-throttling")
3333
chrome_options.add_argument("--disable-client-side-phishing-detection")
3434
chrome_options.add_argument("--disable-default-apps")
35-
chrome_options.add_argument("--disable-extensions")
3635
chrome_options.add_argument("--disable-hang-monitor")
3736
chrome_options.add_argument("--disable-popup-blocking")
3837
chrome_options.add_argument("--disable-prompt-on-repost")

botcity/web/browsers/edge.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,6 @@ def default_options(headless=False, download_folder_path=None, user_data_dir=Non
3232
edge_options.add_argument("--disable-background-timer-throttling")
3333
edge_options.add_argument("--disable-client-side-phishing-detection")
3434
edge_options.add_argument("--disable-default-apps")
35-
edge_options.add_argument("--disable-extensions")
3635
edge_options.add_argument("--disable-hang-monitor")
3736
edge_options.add_argument("--disable-popup-blocking")
3837
edge_options.add_argument("--disable-prompt-on-repost")

0 commit comments

Comments
 (0)