LoginSignup
3
2

More than 5 years have passed since last update.

Ubuntu16.04のFirefox47でSelenium WebDriverを動かす方法

Last updated at Posted at 2016-07-10

参考

geckodriverのダウンロード

スクリーンショット_2016-07-10_12-49-40.png

解凍してリネームする。

mv geckdriver /usr/local/bin/wires

既存のスクリプト修正

以下修正が必要
from selenium import webdriver
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities

firefox_capabilities = DesiredCapabilities.FIREFOX
firefox_capabilities['marionette'] = True
firefox_capabilities['binary'] = '/usr/bin/firefox'

driver = webdriver.Firefox(capabilities=firefox_capabilities)

Selenium IDEでエクスポートしたものの修正

スクリーンショット_2016-07-10_12-53-42.png

qtest1.py
 # -*- coding: utf-8 -*-
 from selenium import webdriver
-from selenium.webdriver.common.by import By
+from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
 from selenium.webdriver.common.keys import Keys
 from selenium.webdriver.support.ui import Select
 from selenium.common.exceptions import NoSuchElementException
 from selenium.common.exceptions import NoAlertPresentException
 import unittest, time, re

 class Qtest1(unittest.TestCase):
     def setUp(self):
-        self.driver = webdriver.Firefox()
+        caps = DesiredCapabilities.FIREFOX
+        caps["marionette"] = True
+        caps["binary"] = "/usr/bin/firefox"
+        self.driver = webdriver.Firefox(capabilities=caps)
         self.driver.implicitly_wait(30)
         self.base_url = "http://qiita.com"
         self.verificationErrors = []
         self.accept_next_alert = True
...

処理を指定時間待つ

そういえば処理を指定時間待つようにするには

によると以下を使う例があるが、

from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
import time

time.sleep(10) #10秒まつ
3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2