首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Selenium中获取WebElement的HTML代码

如何在Selenium中获取WebElement的HTML代码
EN

Stack Overflow用户
提问于 2015-08-27 02:36:01
回答 6查看 55.3K关注 0票数 29

我是测试新手,所以如果我的问题听起来有点原始,我提前道歉。

我正在使用Selenium和Java编写一个测试。

我知道webElement.getAttribute("innerHTML");为我带来了innerHTML,例如下面的元素:

代码语言:javascript
复制
<a href="#" class="ui-dialog-titlebar-close ui-corner-all" role="button" style="position: absolute; border-radius: 0px 0px 4px 4px;">
    <span class="ui-icon ui-icon-closethick">close</span>
</a>

它返回:

代码语言:javascript
复制
<span class="ui-icon ui-icon-closethick">close</span>

但我需要一些能带给我WebElement "a“内部属性的东西,如下所示:

代码语言:javascript
复制
href="#" class="ui-dialog-titlebar-close ui-corner-all" role="button" style="position: absolute; border-radius: 0px 0px 4px 4px;"
EN

回答 6

Stack Overflow用户

发布于 2015-08-27 07:31:49

如果您想要元素本身的HTML,可以使用

代码语言:javascript
复制
webElement.getAttribute("outerHTML");

它将返回元素本身的HTML加上所有子元素。我不确定这是不是你想要的。我不认为有一种方法可以只获取所选元素的HTML。

票数 40
EN

Stack Overflow用户

发布于 2017-09-03 15:17:43

您可以读取innerHTML属性来获取元素内容的源,或者读取outerHTML来获取当前元素的源。

示例:-现在假设您的元素如下

代码语言:javascript
复制
<tr id="myRow"><td>A</td><td>B</td></tr>

内部元素输出

代码语言:javascript
复制
<td>A</td><td>B</td>

外部元素输出

代码语言:javascript
复制
<tr id="myRow"><td>A</td><td>B</td></tr>

现场示例:-

http://www.java2s.com/Tutorials/JavascriptDemo/f/find_out_the_difference_between_innerhtml_and_outerhtml_in_javascript_example.htm

下面你会发现根据不同的绑定所需的语法。根据需要将innerHTML更改为outerHTML

Python:

代码语言:javascript
复制
element.get_attribute('innerHTML')

Java:

代码语言:javascript
复制
elem.getAttribute("innerHTML");

C#:

代码语言:javascript
复制
element.GetAttribute("innerHTML");

Ruby:

代码语言:javascript
复制
element.attribute("innerHTML")

JS:

代码语言:javascript
复制
element.getAttribute('innerHTML');

如果你想整个页面HTML使用下面的代码:

代码语言:javascript
复制
driver.getPageSource();
票数 12
EN

Stack Overflow用户

发布于 2015-08-27 03:06:03

代码语言:javascript
复制
webElement.getAttribute("href");
webElement.getAttribute("class");
.
.
.

或者把它们都弄到手:

代码语言:javascript
复制
Object[] attr = ((JavascriptExecutor)seleniumdriver).executeScript("return arguments[0].attributes);", webElement);
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32234205

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档