Skip to content

Commit 388e161

Browse files
committed
Merge pull request brandicted#4 from samos123/support-webdriver-custom-kwargs
Support Webdriver custom options by kwargs
2 parents a94b670 + 3b1f6e6 commit 388e161

File tree

2 files changed

+8
-1
lines changed

2 files changed

+8
-1
lines changed

README.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,10 @@ Add something like this in your scrapy project settings:
4343
}
4444

4545
WEBDRIVER_BROWSER = 'PhantomJS' # Or any other from selenium.webdriver
46+
# Optional passing of parameters to the webdriver
47+
WEBDRIVER_OPTIONS = {
48+
'service_args': ['--debug=true', '--load-images=false', '--webdriver-loglevel=debug']
49+
}
4650

4751
Usage
4852
=====

scrapy_webdriver/manager.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@ def __init__(self, crawler):
1717
self._wait_inpage_queue = deque()
1818
self._browser = crawler.settings.get('WEBDRIVER_BROWSER', None)
1919
self._user_agent = crawler.settings.get('USER_AGENT', None)
20+
self._web_driver_options = crawler.settings.get('WEBDRIVER_OPTIONS',
21+
dict())
2022
self._webdriver = None
2123
if isinstance(self._browser, basestring):
2224
self._browser = getattr(webdriver, self._browser)
@@ -42,7 +44,8 @@ def valid_settings(cls, settings):
4244
def webdriver(self):
4345
"""Return the webdriver instance, instantiate it if necessary."""
4446
if self._webdriver is None:
45-
options = dict(desired_capabilities=self._desired_capabilities)
47+
options = self._web_driver_options
48+
options['desired_capabilities'] = self._desired_capabilities
4649
self._webdriver = self._browser(**options)
4750
self.crawler.signals.connect(self._cleanup, signal=engine_stopped)
4851
return self._webdriver

0 commit comments

Comments
 (0)