Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/362.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Python控制Selenium-无法使用';等待';_Python_Selenium - Fatal编程技术网

使用Python控制Selenium-无法使用';等待';

使用Python控制Selenium-无法使用';等待';,python,selenium,Python,Selenium,我们维护一个库,用于执行系统级测试的测试脚本。测试系统的一部分是一个网站,为了导航和与网站交互,我们使用JPype控制Selenium 2.0的webdriver。Selenium 2.0有一个Java和C#接口,目前我们不能使用Java或C#重写测试库,这就是为什么我们使用JPype来控制它。这个系统是由一个刚离开公司的人建立的,我现在正在加快速度 无论何时我们与网站互动,我们都在利用时间。睡眠: self.browserDict['Driver'].findElement(self.brow

我们维护一个库,用于执行系统级测试的测试脚本。测试系统的一部分是一个网站,为了导航和与网站交互,我们使用JPype控制Selenium 2.0的webdriver。Selenium 2.0有一个Java和C#接口,目前我们不能使用Java或C#重写测试库,这就是为什么我们使用JPype来控制它。这个系统是由一个刚离开公司的人建立的,我现在正在加快速度

无论何时我们与网站互动,我们都在利用时间。睡眠:

self.browserDict['Driver'].findElement(self.browserDict['By'].id(byId)).click()
time.sleep(_AJAX_TIMEOUT)

>>> self.browserDict['Driver']
<jpype._jclass.org.openqa.selenium.firefox.FirefoxDriver object at 0x0626DD30>
>>> byId
'login_submit'
self.browserDict['Driver'].findElement(self.browserDict['By'].id(byId))。单击()
时间。睡眠(\u AJAX\u超时)
>>>self.browserDict['Driver']
>>>比亚迪
“登录\提交”
无论何时单击no something,都会有一段时间.sleep()等待加载下一页。我们有很多AJAX,但似乎应该有一种方法等待AJAX完成加载。在他离开之前,这个工具的作者解释说,JPype或Selenium都有一个问题阻止了这一点。到目前为止,我找不到这个问题,但我也不知道这里使用的wait命令

编辑:
一种选择是使用,假设超时时间为6秒,则在找到元素后会立即返回,但加载页面时似乎总是等待整整6秒

Edit2:
直接到selenium 2.0现在已经过时,但是似乎也无法等待Ajax加载完成该库:
time.sleep(0.2)#让页面加载,将被添加到AP
(来自他们的示例)。

也许可以满足您的标准?

隐式等待通过JPype和Java绑定工作,并且可以满足这里的需要。

您应该通过WebdriverWait使用显式等待