我正在开发一个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 v2.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()