问题标签 [implicitwait]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
selenium - 在 selenium 中使用隐式等待
我是初学者。我理解等待基本上是做什么的,但我对互联网上的不同教程如何放置和解释它感到困惑。例如,在下面的代码中,它被放置在加载 URL 之前。那么,是只等待加载 URL 还是等待查找元素或两者兼而有之?如果我在我的 try 块中使用一次隐式等待,它是否适用于我在代码中执行的每个元素搜索,这是真的吗?
java - 用显式等待替换隐式等待(selenium webdriver & java)
如何用显式等待替换这种隐式等待?
驱动程序=新的ChromeDriver(功能);
driver.manage().deleteAllCookies();
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
这在之前的方法中使用。我能够替换代码中的所有 Thread.sleep(),但我不确定该怎么做。
selenium - 隐式等待和显式等待之间的内部工作区别是什么
显式等待示例
隐式等待示例
假设 myDynamicElement 在第 6 秒可见,因此在这两种情况下,驱动程序将等到第 6 秒并且控制将移至连续的书面语句,我想了解在这种情况下隐式等待和显式等待有何不同?他们如何在内部工作?
java - Selenium 隐式和显式等待,未找到超时异常元素
我是 selenium 的新手(但经验丰富的 java 开发人员)。
我正在使用类似下面的东西:
其中 pWait 是:
但是,当我运行测试用例时,出现以下错误:
我认为它应该在抛出这个异常之前等待至少 15 秒。从上面的日志看来,它似乎只在 4 毫秒内引发了异常。我可以在控制台上看到,一旦它到达那条线,它就会抛出异常。
我将隐式等待设置为 0 并使用显式等待。
我在这里有什么遗漏吗。
此外,在显式和隐式等待中,是达到那么多时间还是精确那么多时间,例如,如果我将隐式等待设置为 10 秒,那么这是否意味着等待确切的 10 秒或等待最多 10 秒(如果找到元素然后继续, 即使元素 founf 在第 6 秒)
显式等待也一样吗?
请帮忙
selenium - 隐式 vs 显式 vs Fluent 等待
隐式,显式,流利的等待有什么区别?
如果我们在隐式等待中设置 10 秒并且在 10 秒之前,则在 3 秒内只有元素被定位。
到时候会发生什么?它将等待 10 秒或继续进行。
selenium - 硒隐式等待不起作用
这是我第一次使用 selenium 和无头浏览器,因为我想使用 ajax 技术抓取一些网页。
效果很好,但是在某些情况下加载整个页面需要太多时间(尤其是当某些资源不可用时),所以我必须为 selenium 设置一个超时时间。
首先我尝试了set_page_load_timeout()
,set_script_timeout()
但是当我设置这些超时时,如果页面没有完全加载,我将不会获得任何页面源,如下面的代码:
所以我尝试使用隐式等待和条件等待,如下所示:
这次我得到了我想要的内容。但是,它需要很长时间(40+秒),这意味着我设置的2秒超时根本不起作用。
在我看来,似乎driver.get()
调用结束,直到浏览器停止加载页面,只有在那之后下面的代码才能工作,你不能终止get()
调用,否则你什么也得不到。但这与 selenium 文档非常不同,我真的想知道错误在哪里。
环境:OSX 10.12, selenium 3.0.9 with FireFox & GoogleChrome Headless(均为最新版本。)
- - 更新 - -
感谢您的帮助。我将代码更改如下,WebDriverWait()
单独使用,但仍然存在调用持续很长时间的情况,远远超过我设置的超时时间。想知道我是否可以在时间结束时立即停止页面加载?
这是测试中的终端输出:
根据代码,这意味着driver.get()
调用需要 44 秒才能完成调用,这是出乎意料的,我想知道我是否误解了无头浏览器的行为?
java - 如何通过 Selenium 正确配置隐式/显式等待和 pageLoadTimeout?
我目前有以下设置,但我不确定我的等待(隐式和 pageLoadTimeout)是否正常工作。这是正确的实施吗?通过将它放在@Before("@setup") 中,它是否适用于每个场景或步骤定义运行?每次我打电话给@Given、@When..etc 时,司机会相应地等待吗?
为什么要给后面的wait分配一个WebElement,WebElement元素接收到什么?这是正确的实施吗?-
c# - 如何在 Selenium 中结合隐式和显式超时?
我正在使用带有隐式超时的 Selenium ChromeDriver:
在我的一项测试中,我想用明确的超时来覆盖它。在读取属性之前,我明确地等待找到该元素:
我希望这需要 120 秒才能尝试找到元素,但它会在 5 秒后超时。
c# - Selenium C# ImplicitWait 不会等待元素加载
我创建了一个自定义方法来隐式等待元素加载,然后我在自定义 click 方法中使用它,如下所示:
然后我将它附加到我单击的任何元素上,以确保它始终轮询 DOM 以确保元素已加载,但它似乎并没有等待某些特定元素加载。
我正在搜索这个元素:
但它总是立即发出以下异常:
我已经尽一切努力让它等待这个元素加载,但我似乎无法弄清楚。奇怪的是,如果我调试它......它会找到元素。
任何帮助将不胜感激!
python - Python & Selenium:driver.implicitly_wait() 和 time.sleep() 之间的区别
是的,我知道两者都习惯于等待某个指定的时间。
硒:
Python:
这两者有什么区别吗?