2017-03-11 15 views
0

私はセレンを使用して次のスクリプトを持っていますが、動作しません。それは単にクラスの最初の部分にしたことを示す "ok3"を出力します。セレンのpython関数が実行されていません

from selenium import webdriver 
from selenium.webdriver.common.by import By 
from selenium.webdriver.support.ui import Select 
from selenium.common.exceptions import NoSuchElementException 
import unittest 
import time 
from selenium.webdriver.firefox.firefox_binary import FirefoxBinary 

class Test(unittest.TestCase): 
    print('ok3') 
    binary = FirefoxBinary("/Users/djnewt/Desktop/Python/geckodriver") 
    self.driver = webdriver.Firefox(firefox_binary=binary) 
    self.driver.get("http://google.com") 

    def tearDown(self): 
     self.driver.quit() 

    def test_selenium_1(self): 
     print('ok4') 
     search_field = self.driver.find_element_by_id("lst-ib") 
     search_field.send_keys("Test 1. Number 1") 
     search_field.submit() 
     print("ok1") 
     time.sleep(2) 


x = Test() 
x.test_selenium_1() 
x.tearDown() 

何がうまくいかないのか分かりません。 firefoxブラウザウィンドウも起動せず、tearDown関数が呼び出されると関数は停止しません。

+1

インデントが間違っている、クラスメソッドを実際にクラスに入れようとする –

+0

はい、これで問題は解決しますか?インデント - でも元の問題残っている。 –

答えて

0

更新セレン(3.3.0)、Firefoxの(52)とgeckodriver(0.15)

は、パスにドライバを追加し、(Firefoxの初期化)を直接

from selenium import webdriver 
from selenium.webdriver.common.by import By 
from selenium.webdriver.support.ui import Select 
from selenium.common.exceptions import NoSuchElementException 
import unittest 
from selenium.webdriver.firefox.firefox_binary import FirefoxBinary 
import time 

class Test(unittest.TestCase): 
def __init__(self): 
     print('ok3') 
     binary = FirefoxBinary("D:\\1.Manoj\\2.Soft-war\\5.Rest\\geckodriver.exe") 
     self.driver = webdriver.Firefox()#firefox_binary=binary) 
     self.driver.get("http://google.com") 

def tearDown(self): 
    self.driver.quit() 

def test_selenium_1(self): 
    print('ok4') 
    search_field = self.driver.find_element_by_id("lst-ib") 
    search_field.send_keys("Test 1. Number 1") 
    search_field.submit() 
    print("ok1") 
    time.sleep(2) 


x = Test() 
x.test_selenium_1() 
x.tearDown() 
0

私はあなたがセレン2.35を使用することをお勧めします。 1 firefox 46.0.1で、セレンの最新バージョンはFirefoxブラウザと互換性がないので

+0

これはコメントであり、答えではありません。 –

関連する問題