Files
bonobo/bonobo/ext/selenium.py
2016-12-28 10:54:50 +01:00

47 lines
1.3 KiB
Python

try:
import selenium
except ImportError as e:
import logging
logging.exception(
'You must install selenium to use the bonobo selenium extension. Easiest way is to install the '
'optional "selenium" dependencies with «pip install bonobo[selenium]», but you can also install a '
'specific version by yourself.')
from bonobo import service
USER_AGENT = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_3) AppleWebKit/601.4.4 (KHTML, like Gecko) Version/9.0.3 Safari/601.4.4'
def create_profile(use_tor=False):
_profile = selenium.webdriver.FirefoxProfile()
_profile.set_preference("toolkit.startup.max_resumed_crashes", "-1")
if use_tor:
# tor connection
_profile.set_preference('network.proxy.type', 1)
_profile.set_preference('network.proxy.socks', '127.0.0.1')
_profile.set_preference('network.proxy.socks_port', 9050)
# user agent
_profile.set_preference("general.useragent.override", USER_AGENT)
return _profile
def create_browser(profile):
_browser = selenium.webdriver.Firefox(profile)
_browser.implicitly_wait(10)
_browser.set_page_load_timeout(10)
return _browser
@service
def browser():
return create_browser(create_profile(use_tor=False))
@service
def torbrowser():
return create_browser(create_profile(use_tor=True))