首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >通过Selenium和Java使用CssSelector识别新添加的元素

通过Selenium和Java使用CssSelector识别新添加的元素
EN

Stack Overflow用户
提问于 2019-04-11 16:03:24
回答 3查看 247关注 0票数 2

我有一个元素,在添加它各自的项目后获得不同的新css选择器,所以每次我在页面上添加一个项目,然后这个项目被添加为最后一个记录,那么我如何检测和捕获它的css选择器?

代码语言:javascript
运行
复制
WebElement changingselec = driver.findElement(By.cssSelector("body > app > div > manage-corr-app > div > div.flex-5.work-area-large > manage-user-recipient-groups > div > div:nth-child(10)"));

changingselec.click();

请注意,div:nth-child(10)指示最后一条当前记录是第十条记录,如果我添加一个新记录,那么它的选择器将把这个部分呈现为div:nth-child(11),因此我无法预测目标项的正确选择器。

EN

回答 3

Stack Overflow用户

发布于 2019-04-11 16:06:47

在CSS中有一个:last-child选择器。尝尝这个

代码语言:javascript
运行
复制
WebElement changingselec = driver.findElement(By.cssSelector("body > app > div > manage-corr-app > div > div.flex-5.work-area-large > manage-user-recipient-groups > div > div:last-child"));
票数 1
EN

Stack Overflow用户

发布于 2019-04-11 16:41:39

如果新添加的<div>是它的父级的最后一个子级,那么@MateMrše解决方案就是完美的。

使用div:last-child

  • :选择其父级的最后一个子级的每个div元素:

WebElement changingselec =driver.findElement(“body> app > div > manage-corr-app > div > div.flex-5.work-area-large > manage-user-recipient-groups > div > div:last-child"));

如果新添加的<div>是其父类型的<div>类型的最后一个子类型,则需要:

  • Use div:last-of-type:选择作为其父元素的最后一个<div>元素的每个<div>元素:
票数 0
EN

Stack Overflow用户

发布于 2019-04-12 23:25:44

我在工作中找到了一位年长同事对我的问题的回答,如下所示:

代码语言:javascript
运行
复制
String changingselec = "";

int lastChildIndex = driver.findElements(By.cssSelector("body > app > div > manage-corr-app > div > div.flex-5.work-area-large > manage-user-recipient-groups > div > div.panel")).size(); 

//I replaced the last section in the selector above > div:nth-child(10) by > div.panel because all elements share the same parent panel

changingselec = driver.findElement(By.cssSelector("body > app > div > manage-corr-app > div > div.flex-5.work-area-large > manage-user-recipient-groups > div > div.panel:nth-child(" + Integer.toString(lastChildIndex) + ")")).click();

我希望这能帮到你。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55627546

复制
相关文章

相似问题

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