html - 查找 <em> 标签中的元素 selenium

标签 html selenium xpath selenium-webdriver css-selectors

我试图找到一个箭头元素(比如下拉菜单)。但是没有特定于 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/

相关文章:

java - 如何清除日历框中输入的默认值并发送新的出生日期

xml - 获取 XSL 中的最后几个节点,跨越父节点

html - 单独时,CSS 不显示类名

JQuery:获取点击元素的父元素id

php - 如何根据表的大小动态设置分页符?

php - ™ 被转换为 ™ DOMDocument XPath

xml - 使用 block 中的 xmlstarlet 从同一节点获取多个子注释

javascript - 将输入数据发送到 JavaScript 文件

javascript - 在Selenium中测试自删除/动态Webelement

java - 如何在其他java Selenium之后运行一个类