使用Python控制Selenium无法使用“waits”

2024-09-22 10:30:29 发布

您现在位置:Python中文网/ 问答频道 /正文

我们维护一个由测试脚本使用的库来进行系统级测试。测试系统的一部分是一个网站,为了导航和与网站交互,我们使用JPype控制selenium2.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'

任何时候我们点击“无”的时候时间。睡觉()等待加载下一页。我们有很多AJAX,但似乎应该有一种方法来等待AJAX完成加载。在离开之前,这个工具的作者解释说JPype或Selenium有一个问题阻止了这一点。到目前为止,我找不到这个问题,但我也不知道这里将使用的等待命令。在

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

编辑2:Python bindings直接到selenium 2.0的版本现在已经过时了,但是似乎也没有办法等待Ajax加载完成这个库:time.sleep(0.2) # Let the page load, will be added to the AP(从他们的例子中)。在


Tags: selftime网站系统driverselenium时间公司