首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Webdriver并删除所有displyed元素

Webdriver并删除所有displyed元素
EN

Stack Overflow用户
提问于 2016-02-26 12:58:08
回答 1查看 1.2K关注 0票数 0

问题

我有一个应用程序,允许用户添加备忘录到网页。我需要能够找到所有的备忘录,并删除他们的网页。问题是,我永远无法确定页面上会有多少备忘录以及它的ID是什么。每个“备忘录”都有一个唯一的ID,这取决于页面上有多少备忘录。例如,如果页面上有三个备忘录,那么我将有三个ID为"memo01,memo02,memo03“的备忘录。

我现在所做的只是搜索5个备忘录(我假设不会超过5个),所以我通过ID搜索包含"memo01,memo02,memo03“最多5的元素。然后依次删除它们--这很有效。我知道这不是理想的,也不是特别有效的,尤其是现在,当我有一个案例,我在页面上有10条注释

理想解:

我想出的是找到所有包含“注意事项”的ID,如下所示:

代码语言:javascript
运行
复制
driver.Findelements(By.XPath("//*[contains(@id, 'note')]"));

我不想找一张特别的便条。我只需要找到它们并删除它们。问题是,上面的xpath定位器还得到了我不感兴趣的其他元素的句柄。也就是说,它们在DOM中,但没有显示在页面上。

我需要的是循环所有包含"x“的元素,这些元素实际上是显示在页面上的(.displayed)。有什么想法吗?

EN

回答 1

Stack Overflow用户

发布于 2016-04-18 09:49:39

我想你想要这样的东西:

代码语言:javascript
运行
复制
// The selector insid CssSelector is to find all input's ID that contains "memo"
ICollection<IWebElement> listMemo = driver.FindElements(By.CssSelector("input[id*='memo']"));
               foreach (var item in listMemo)
                {
                    item.Displayed = false;
                }
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35652376

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档