From 7b87a7fd7e77add46071f12de72e0bf8cb5c45b9 Mon Sep 17 00:00:00 2001 From: admin Date: Wed, 18 Jan 2017 02:02:10 +0000 Subject: [PATCH] =?UTF-8?q?firefox=20gecko=20driver=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: svn://192.168.0.12/source@340 8346c931-da38-4b9b-9d4c-e48b93cbd075 --- WebBasedCrawler/base/baseclasses.py | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/WebBasedCrawler/base/baseclasses.py b/WebBasedCrawler/base/baseclasses.py index bfe2ab5..7b92c28 100644 --- a/WebBasedCrawler/base/baseclasses.py +++ b/WebBasedCrawler/base/baseclasses.py @@ -114,7 +114,7 @@ class Browser: elif name == "opera": return self.new_opera_browser(driver_exec="operadriver.exe") elif name == "firefox": - return self.new_firefox_browser() + return self.new_firefox_browser(executable_path="geckodriver.exe") else: return None else: @@ -123,7 +123,7 @@ class Browser: elif name == "opera": return self.new_opera_browser(driver_exec="operadriver") elif name == "firefox": - return self.new_firefox_browser() + return self.new_firefox_browser(executable_path="geckodriver") else: return None @@ -152,11 +152,22 @@ class Browser: self.driver = webdriver.Ie(self.ie_driver_path) return self.driver - def new_firefox_browser(self): + def new_firefox_browser(self, executable_path=None): self.info = "firefox" caps = DesiredCapabilities.FIREFOX + + if executable_path is not None: + self.firefox_driver_path = executable_path + self.firefox_basename = os.path.basename(executable_path) + if self.is_server_executed(self.firefox_basename): + port = self.port(self.firefox_basename) + self.driver = webdriver.Remote(command_executor="http://127.0.0.1:"+port, + desired_capabilities=caps) + else: + self.driver = webdriver.Firefox(desired_capabilities=caps, + executable_path=self.firefox_driver_path) + #caps["marionette"] = True - self.driver = webdriver.Firefox(capabilities=caps) return self.driver def new_opera_browser(self, driver_exec=None):