【问题标题】:wait element to be invisible selenium等待元素是不可见的硒
【发布时间】:2017-09-27 00:36:27
【问题描述】:

我正在尝试等待上一步中存在的不可见元素,上一步是出现的窗口,然后我想等到它关闭以继续执行脚本,上一步中的元素是:

//textarea[@id="position_description"]

但不确定为什么它在第一个显式等待时间上等待超过指定时间:

class InputAutocompleteElement(InputElement):
    def __set__(self, obj, value):
        WebDriverWait(self.driver, 2).until(EC.invisibility_of_element_located((By.XPATH, '//textarea[@id="position_description"]')))            
        driver = obj.driver
        element = self.find_element(driver, self.locator)
        element.clear()
        element.send_keys(value)
        WebDriverWait(driver,10).until(EC.visibility_of_element_located((By.ID, "idOfAutocompleteDropdown"))
        element.send_keys(Keys.RETURN)

继续其余行的时间超过 2 秒,我不确定这是否与我设置登录以访问应用程序时的隐式等待有关,该隐式时间的时间是10 秒。

【问题讨论】:

  • 请分享网址
  • 要根据 JeffC 的回答确定等待的混合是否导致问题,您可以在显式等待需要更长的时间之前将隐式等待设置为 0。检查时间是否减少。在此行之后将其设置回 10。
  • 谢谢大家,问题是隐式时间,我把所有东西都改成了显式时间,而且比以前工作得更快

标签: python selenium selenium-webdriver


【解决方案1】:

Selenium docs 状态不混合隐式和显式等待。这可能就是您遇到的问题。

警告:不要混合隐式和显式等待。这样做会导致不可预测的等待时间。

【讨论】:

  • 这不是答案,亲爱的
  • @iamsankalp89 证明? OP 声明它等待的时间比指定的显式等待时间长。还声明他有 10 秒的隐式等待。根据链接的官方文档,这混合了隐式和显式,导致“不可预测的等待时间”。我错过了什么?答案是什么?
  • 我对官方文档没有问题,但它并没有解决问题所在。是的,我会尝试找到
  • @iamsankalp89 那么问题是什么,因为您似乎知道它是什么?
  • 感谢 JeffC,我之前已经混合了显式和隐式时间,但这是我第一次面对这种意想不到的等待时间。
猜你喜欢
  • 2011-12-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-05-20
  • 2015-03-11
相关资源
最近更新 更多