获取通过视图源显示的web元素



使用下面的代码,我从链接元素中获得href

Sting url
List<WebElement> wElements = DriverFactory.getWebDriver().findElements(By.className("link-class"))
if(wElements.size() > 0) {
url = wElements[0].getAttribute("href")
}

问题是它找到了元素,但没有找到href属性!!!

如果我使用";Firefox检查器";元素显示为具有正确类名但没有CCD_ 4属性的CCD_。

<div><span class="link-class">The Title</span></div>

如果我使用";查看页面源";相同的元素显示为<a>标记,它具有href属性,但类名不同!!!

<a href="/href/attribute/here" class="other-link-class"<span>The Title</span></a>

那么,有没有任何方法可以得到<a>元素的href,但如";查看页面源"?当然使用Java。

WebElements中可能存在一些细微的差异,如ViewSourceInspector工具所示。

这两种方法都是两种不同的浏览器功能,允许用户查看网页的HTMLDOM。主要区别在于,视图源显示了从AUT(测试中的应用程序(传递到浏览器的HTML。其中,Inspect元素是一个开发工具,例如Chrome DevTools,用于在浏览器应用纠错后以及任何Javascript操作DOM后查看DOM树的状态。简而言之,使用ViewSource,您将看到Javascript而不是HTML。HTML错误可能会在Inspect Elements工具中得到更正。

使用Firefox Inspector时,您找不到href属性,类似地,当您执行测试时,因为<span>元素不包含href的属性,并且无法收集href特性的值。

相关内容

  • 没有找到相关文章

最新更新