【发布时间】:2020-11-21 09:28:26
【问题描述】:
鉴于此代码会等到加载圈从网页上消失:
def wait_loadingCircle(self):
try:
while self.browser.find_element_by_xpath('//div[@class="sk-circle-container"]').is_displayed() is True:
time.sleep(1)
except (NoSuchElementException, StaleElementReferenceException, TimeoutException):
print('Loading circle has expired')
问题是当圆圈消失时(xpath 消失).is_displayed() 函数在 12+ 秒内返回 false,有没有其他方法可以等到圆圈消失(页面上不再找到 xpath)?
编辑:
此代码示例需要更长的时间:
def wait_loadingCircle(self):
try:
# while self.browser.find_element_by_xpath('//div[@class="sk-circle-container"]').is_displayed() is True:
while self.browser.find_element_by_xpath('//div[@class="sk-circle-container"]') != None:
time.sleep(1)
except (NoSuchElementException, StaleElementReferenceException, TimeoutException):
print('Element loading a disparut')
基本上在 xpath 从页面中消失后,当页面的复杂度稍大时,代码识别它的速度太慢了
【问题讨论】:
标签: python selenium unit-testing django-unittest