首页 > 后端开发 > C++ > 为什么我的 Selenium WebDriverWait 被忽略,以及如何可靠地从动态元素中检索文本?

为什么我的 Selenium WebDriverWait 被忽略,以及如何可靠地从动态元素中检索文本?

Patricia Arquette
发布: 2024-12-31 09:01:10
原创
833 人浏览过

Why is my Selenium WebDriverWait being ignored, and how can I reliably retrieve text from a dynamic element?

使用 WebDriverWait 等待元素

在 Selenium 中,使用 WebDriverWait 是处理可能不会立即出现的动态元素的一个关键方面在网页上。但是,您遇到了一个问题,即尝试从元素检索文本时 WebDriverWait 似乎被忽略。

要纠正此问题,您可以利用 SeleniumExtras.WaitHelpers 中的 ExpectedConditions.ElementIsVisible() 方法图书馆。此方法显式等待元素变得可见并可进行交互,然后再尝试与其交互。

以下是包含 ElementIsVisible() 方法的修改后的代码片段:

string messageText = new WebDriverWait(driver, TimeSpan.FromSeconds(10)).Until(SeleniumExtras.WaitHelpers.ExpectedConditions.ElementIsVisible(By.ClassName("block-ui-message"))).GetAttribute("innerHTML");
登录后复制

通过使用这种方法,等待将不会被忽略,并且代码将在元素变得可见后成功地从元素中检索文本。

以上是为什么我的 Selenium WebDriverWait 被忽略,以及如何可靠地从动态元素中检索文本?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板