Python Selenium在使用线程时不会隐式或显式等待

时间:2015-03-24 18:26:52

标签: python multithreading selenium wait

我正在开发一个gui,它接受值并根据这些值运行Selenium测试。我决定将selenium的东西作为一个线程运行,因为它会让gui反应迟钝。唯一的问题是没有等待正在发生。这就好像等待甚至根本没有。我假设它正在运行作为一个线程阻止等待运行,因为我之前使用过等待而没有任何问题。我总是看到人们在这里要求代码,但是没有什么可以展示的。

以下是我启动帖子的方法:

def selenium_stuff():
    ...

t = threading.Thread(target=selenium_stuff)
t.start()

以下是我如何称呼等待

self.driver.implicitly_wait(20)

所以我想我的问题是:在线程无法等待的情况下运行的selenium测试吗?如果没有,最有可能出错的是什么?提前感谢您的帮助。

我很遗憾地在Windows 8上运行它,使用chromedriver v2.14和Selenium v​​2.45.0和Python 2.7.5

更新

以下是运行

的最小示例
from selenium import webdriver
import threading

def selenium_stuff():
    driver = webdriver.Chrome()
    driver.get('http://google.com')
    driver.implicitly_wait(20)
    search = driver.find_element_by_id("lst-ib")
    search.send_keys('help me')
    button = driver.find_element_by_id("tsf")
    button.click()

t = threading.Thread(target=selenium_stuff)
t.start()

0 个答案:

没有答案