用java查找字符串最大元素_java – Selenium基于文本或属性中的字符串查找元素

这将给出包含文本foobar的所有元素

driver.findElement(By.xpath("//*[text()[contains(.,'foobar')]]"));

如果你想要完全匹配,

driver.findElement(By.xpath("//*[text() = 'foobar']"));

或者你可以在Selenium中使用JQuery执行Javascript

这将返回包含从父项到最后一个子项的文本的所有Web元素,因此我使用jquery选择器:last来获取包含此文本的最内层节点,但如果您有多个包含此节点的节点,这可能并不总是准确的同一文字.

(WebElement)((JavascriptExecutor)driver).executeScript("return $(\":contains('foobar'):last\").get(0);");

如果您想要完全匹配上述内容,则需要对结果运行过滤器,

(WebElement)((JavascriptExecutor)driver).executeScript("return $(\":contains('foobar')\").filter(function() {" +

"return $(this).text().trim() === 'foobar'}).get(0);");

jQuery返回一个Elements数组,如果页面上只有一个带有该特定文本的web元素,您将获得一个元素的数组.我正在做.get(0)来获取数组的第一个元素并将其转换为WebElement

希望这可以帮助.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值