服务现在已更改为使用阴影根目录,如下所示
影子-根
2.再次核销
(B)再提交
我可以很容易地得到第一个跨度:
WebElement sele = driver.findElement(By.xpath("//span[@id='s1']"));然后得到阴影根:
SearchContext sc = sele.getShadowRoot();但它不会让你做一个
sc.findElements(By.xpath(".//button'"));或者更好
WebElement cancelButton = sc.findElement(By.xpath(".//button[.='Cancel']"));你必须用CS选择器找到
sc.findElements(By.cssSelector(" button"));然后按每一个按钮来得到文本。更糟的是,当我尝试
List<WebElement> buttons = sc.findElements(By.cssSelector(" button"));因为它说"=“有一个错误,它期望"<=”。不知道为什么。不得不做一件
for (WebElement wele : sc.findElements(By.cssSelector(" button")) {
String txt = wele.getText();
if (txt.equals("Cancel")) ... // whatever you want
}那么,我的问题是,有没有办法将"sc“转换为WebElement?甚至可能有什么办法让自己得逞?相当于
sc.findElement(By.xpath("."));还是用SearchContext寻找xpath?
发布于 2022-11-29 15:11:10
看起来this discussion正是你想要的。
有几个答案给出了获得阴影根作为WebElement对象。
https://stackoverflow.com/questions/74615721
复制相似问题