我正在尝试找到一个箭头元素(如下拉列表)。但是没有特定于html的代码。似乎箭头已包含在<em>
中。它默认不可见。当我检查元素时,我可以看到它 - &gt; [ :: 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>
答案 0 :(得分:4)
使用salesforce(特别是服务云)观察此行为。 Selenium CSS选择器不支持:: after标记。作为一种解决方法,您可以使用actions类并动态获取坐标并单击该元素。尽管有屏幕分辨率,它仍然为我们工作。
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(&#34; x&#34;)和getAttribute(&#34; y&#34;),将这些值存储在变量中,并操纵它们以动态地在屏幕上获得所需的位置。