首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Chrome上用Java实现硒中SearchContext到WebElement的转换

在Chrome上用Java实现硒中SearchContext到WebElement的转换
EN

Stack Overflow用户
提问于 2022-11-29 14:37:33
回答 1查看 21关注 0票数 0

服务现在已更改为使用阴影根目录,如下所示

影子-根

2.再次核销

(B)再提交

我可以很容易地得到第一个跨度:

代码语言:javascript
复制
 WebElement sele = driver.findElement(By.xpath("//span[@id='s1']"));

然后得到阴影根:

代码语言:javascript
复制
 SearchContext sc = sele.getShadowRoot();

但它不会让你做一个

代码语言:javascript
复制
 sc.findElements(By.xpath(".//button'"));

或者更好

代码语言:javascript
复制
 WebElement cancelButton = sc.findElement(By.xpath(".//button[.='Cancel']"));

你必须用CS选择器找到

代码语言:javascript
复制
 sc.findElements(By.cssSelector(" button"));

然后按每一个按钮来得到文本。更糟的是,当我尝试

代码语言:javascript
复制
 List<WebElement> buttons = sc.findElements(By.cssSelector(" button"));

因为它说"=“有一个错误,它期望"<=”。不知道为什么。不得不做一件

代码语言:javascript
复制
 for (WebElement wele : sc.findElements(By.cssSelector(" button")) {
   String txt = wele.getText();
   if (txt.equals("Cancel")) ... // whatever you want
 }

那么,我的问题是,有没有办法将"sc“转换为WebElement?甚至可能有什么办法让自己得逞?相当于

代码语言:javascript
复制
 sc.findElement(By.xpath("."));

还是用SearchContext寻找xpath?

EN

回答 1

Stack Overflow用户

发布于 2022-11-29 15:11:10

看起来this discussion正是你想要的。

有几个答案给出了获得阴影根作为WebElement对象。

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

https://stackoverflow.com/questions/74615721

复制
相关文章

相似问题

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