我试图找到一个箭头元素(比如下拉菜单)。但是没有特定于 html 的代码。箭头似乎已包含在 <em>
中.默认情况下不可见。当我检查元素时,我可以看到它 --> [::after ==$0] 我可以找到 em 元素。但无法找到箭头。谁能帮忙找到这个定位器?这是html代码。
<em class="x-btn-split" unselectable="on" id="ext-gn23"><button type="button" id="ext-gn58" class=" x-btn-text"><div class="tbhIcon"></div><span>Relaties</span></button>
::after ==$0
</em>
最佳答案
通过 salesforce(特别是服务云)观察到这种行为。 Selenium CSS 选择器不支持::after 标签。作为解决方法,您可以使用 Action 类并动态获取坐标并单击元素。无论屏幕分辨率如何,它对我们来说始终如一。
try{
Actions action = new Actions(driver);
action.moveToElement(driver.findElement(By.xpath("
insert locator")), 245,15).click().build().perform();
}
catch(exception ex){
//insert relevant log msg here
}
此处代码段中的坐标是硬编码的。但是您可以将 findElement 单独与 getAttribute("x") 和 getAttribute("y") 一起使用,将这些值存储在变量中,并操纵它们以动态地在屏幕上获取所需的位置。
关于html - 查找 <em> 标签中的元素 selenium,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39726405/