【发布时间】:2021-09-12 14:07:44
【问题描述】:
简单的问题:
这两种说法的确切区别是什么:
WebDriverWait(self._driver, WEB_WAIT_TIMEOUT).until(ec.invisibility_of_element_located(element))
和
WebDriverWait(self._driver, WEB_WAIT_TIMEOUT).until_not(ec.presence_of_element_located(element))
在这两种情况下,硒的行为在我的情况下是相同的。 提前致谢
感谢您的回复 好的,但仍有一些我不明白的地方: 我有检查微调器是否不可见的基本功能。
`def wait_until_request_api_process_finished(self):
try:
WebDriverWait(self._driver, 1).until(ec.visibility_of_element_located(BaseLoc.spinner))
WebDriverWait(self._driver, 10).until(ec.invisibility_of_element_located(BaseLoc.spinner))
except TimeoutException:
pass
但是,即使微调器不可见,selenium 也会等待(比预期多 8 秒)。有什么问题?
【问题讨论】:
-
那么
invisibility(你的意思是visibility_of_element_located)和presence有什么区别? -
确实,没发现有什么区别
-
忘记 Selenium,阅读英文的函数名称。您的应用程序可能没有区别,但做不同的事情。
-
ut,即使微调器不可见,selenium 也会等待(比预期多 8 秒)。有什么问题? - 你的代码中是否也有隐式等待?
-
是的,我已将隐式等待设置为 10 秒。我应该删除它还是更改它?
标签: python selenium expected-condition