Selenium webdriver 为什么显式等待会等待整个等待时间,即使在等待时间结束之前元素是可见的/可单击的

Selenium webdriver 为什么显式等待会等待整个等待时间,即使在等待时间结束之前元素是可见的/可单击的,selenium-webdriver,selenium-chromedriver,Selenium Webdriver,Selenium Chromedriver,我已经给了60秒的等待时间,我正在使用wait-until元素来单击/可见,但脚本却在等待整个30秒,即使该元素在UI上可见,也可以单击 我尝试使用最新的selenium版本,尝试使用不同的等待,也尝试使用不同的定位器。但它不起作用原因可能在于: 该元素属于,因此在尝试查找其内部的任何内容之前,需要切换到iframe 元素所属,所以您需要定位对象,将其强制转换为WebElement并找到要单击的子元素 您的定位器不正确,请尝试获取页面源并将其保存到文件中。完成后,使用您最喜欢的工具定位eleme

我已经给了60秒的等待时间,我正在使用wait-until元素来单击/可见,但脚本却在等待整个30秒,即使该元素在UI上可见,也可以单击


我尝试使用最新的selenium版本,尝试使用不同的等待,也尝试使用不同的定位器。但它不起作用

原因可能在于:

该元素属于,因此在尝试查找其内部的任何内容之前,需要切换到iframe 元素所属,所以您需要定位对象,将其强制转换为WebElement并找到要单击的子元素 您的定位器不正确,请尝试获取页面源并将其保存到文件中。完成后,使用您最喜欢的工具定位elemen 显式等待的语法不正确。查看并获取代码示例

考虑将页面源代码添加到你的问题中,因为你得到综合答案的机会会高得多,否则我们不得不盲目地投注

它是否抛出“TimeOutExpRebug”异常或只是等待?在某些情况下,它会抛出异常,但在大多数情况下,它会等待整个时间并执行操作。下面是单击一个元素的方法。我使用过类似的等待。等待时间为60秒公共viod clickReset{genericPage.scrollUp;wait.untilExpectedConditions.ElementToBelickablerResetLink;resetLink.click;}它的脚本在等待整个等待时间后执行操作,但我无法理解,若元素可见或可单击,那个么为什么我的脚本要等待整个等待时间。下面是我正在使用的一种方法。public void getAminitiesFilter{WebElement-amentityfilter=wait.untelexpectedconditions.visibilityOfElementLocatedBy.xpath//label[@for='amentity'];genericPage.scrollToElementamentityFilter;}