为了账号安全,请及时绑定邮箱和手机立即绑定

硒在下拉列表中访问多个阴影dom元素?

硒在下拉列表中访问多个阴影dom元素?

慕的地8271018 2022-09-23 09:41:38
我有一个下拉列表,我想点击其中一个项目并跟踪页面上的一些活动。我的 HTML 结构看起来像这样    <slot>    #shadowroot    <myoption-cmp> #shadowroot <some anchor text>    <myoption-cmp> #shadowroot <some anchor text>    </slot>.....如果你能看到有2个元素,我尝试使用查找元素(By.cssSelector(“我的选择-cmp”)。我不断得到“组织.openqa.硒.Web驱动程序异常:javascript错误:无法读取空的属性'查询选择全部'”。我的样品硒代码:<myoption-cmp>WebElement solt = parentElement.findElement(By.cssSelector("slot"));WebElement shadowSlot = expandShadow(slot);List<WebElement> menuCmp = shadowSlot.findElements(By.cssSelector("myoption-cmp"));// I expect to get the list of elements nd then I'd like to access it as below.WebElement shadow2 = expandShadow(menuCmp.get(0));WebElement anchor = shadow2.findElement(By.cssSelector("a"));anchor.click();  只是想知道我是否做错了什么。我尝试使用查找元素和查找元素,但两者都给了我错误,如“org.openqa.硒.Web驱动程序异常:javascript 错误:无法读取属性'查询选择器/查询选择器全部'的空”。任何帮助或建议都值得赞赏。
查看完整描述

1 回答

?
有只小跳蛙

TA贡献1824条经验 获得超8个赞

能够找到解决方案。我需要使用

findElementInShadowRoot(shadowSlot, By.cssSelector('myoption-cmp'));

,然后展开该元素以访问第二个阴影下的子元素。


查看完整回答
反对 回复 2022-09-23
  • 1 回答
  • 0 关注
  • 89 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信