参考
geckodriverのダウンロード
- geckodriverのダウンロード
解凍してリネームする。
mv geckdriver /usr/local/bin/wires
既存のスクリプト修正
- python - How to fix Selenium WebDriverException: The browser appears to have exited before we could connect? - Stack Overflow
- WebDriver - Mozilla | MDN
以下修正が必要
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でエクスポートしたものの修正
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秒まつ