【问题标题】:How do I get content from an element: after it's in a div with Selenium?如何从元素中获取内容:在使用 Selenium 的 div 中之后?
【发布时间】:2018-06-25 09:57:42
【问题描述】:

我无法列出组件的内容:在我的测试之后。我正在编写一个测试,需要从组合框中获取文本,但这个组合是一个元素中的 div

示例:它在 /div 中有一个组合,并且有一个元素 :after 与此组合的其他选项一样,当我单击组合时,会打开另一个 /div 与组合选择的其他选项类似.我写了这段sn-p的代码,但是不对。

List <WebElement> records = driver.findElement (By.xpath (".// div"))
.findElements (By.xpath (/ div));

如何使用这种类型的元素?

【问题讨论】:

  • 我投票结束这个问题,因为 StackOverflow 上的问题应该用英语写,抱歉。
  • 可能更适合pt.stackoverflow.com
  • 欢迎来到 Stack Overflow!请阅读How to Ask,尤其是关于minimal reproducible example(MCVE)和How much research effort is expected?的部分,这将帮助您调试自己的程序并自己解决问题。如果您这样做并且仍然卡住,您可以返回并发布您的 MCVE、您尝试过的内容以及执行结果(包括任何错误消息),以便我们更好地帮助您。还提供指向页面和/或相关 HTML 的链接。
  • 一旦你清理了问题并添加了一些细节,我们就可以重新打开它。

标签: java html css selenium


【解决方案1】:

使用javascript获取伪元素属性:content

public String getPseudoAfterContent(WebElement target) {
    String script = "return window.getComputedStyle(arguments[0], ':after').getPropertyValue('content');";
    return ((JavaScriptExecutor) driver).executeScript(script, target);
}

WebElement divEle = driver.findElement(xxxx)

getPseudoAfterContent(divEle);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-03-25
    • 2016-08-01
    • 1970-01-01
    • 2019-08-06
    • 1970-01-01
    • 2021-12-16
    • 1970-01-01
    相关资源
    最近更新 更多