我是测试的新手,所以如果我的问题听起来有些重要,我会提前道歉。
我正在使用Selenium和Java来编写测试。
我知道
webElement.getAttribute("innerHTML");
为我带来了innerHTML,例如下面的元素:
<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>
它返回:
<span class="ui-icon ui-icon-closethick">close</span>
但我需要一些东西给我带来WebElement“a”的内在属性,如下所示:
href="#" class="ui-dialog-titlebar-close ui-corner-all" role="button" style="position: absolute; border-radius: 0px 0px 4px 4px;"
答案 0 :(得分:28)
如果您想要元素本身的HTML,可以使用
webElement.getAttribute("outerHTML");
它将返回元素本身的HTML以及所有子元素。我不确定这是不是你想要的。我认为没有办法只获取所选元素的HTML。
答案 1 :(得分:6)
您可以阅读innerHTML属性以获取元素内容的来源或使用当前元素获取源的outerHTML。
示例: - 现在假设你的元素如下
<tr id="myRow"><td>A</td><td>B</td></tr>
内部元素输出
<td>A</td><td>B</td>
外部元素输出
<tr id="myRow"><td>A</td><td>B</td></tr>
直播示例: -
下面您将找到根据不同绑定所需的语法。根据需要将innerHTML
更改为outerHTML
。
的Python:
element.get_attribute('innerHTML')
爪哇:
elem.getAttribute("innerHTML");
C#:
element.GetAttribute("innerHTML");
红宝石:
element.attribute("innerHTML")
JS:
element.getAttribute('innerHTML');
如果您希望整页HTML使用以下代码: -
driver.getPageSource();
答案 2 :(得分:4)
Select Id, Count (*) CountOfRows
From MyTable
Group By Id
或者全部搞定:
webElement.getAttribute("href");
webElement.getAttribute("class");
.
.
.
答案 3 :(得分:2)
尝试.getAttribute("innerHTML");
函数以字符串形式提取源
示例代码:
String source = driver.findElement(By.xpath("/html/body/script[6]")).getAttribute("innerHTML");
答案 4 :(得分:2)
如果我们有这个:
<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>
我们需要获得&#34; a&#34;的所有属性。这将是:
href="#" class="ui-dialog-titlebar-close ui-corner-all" role="button"
style="position: absolute; border-radius: 0px 0px 4px 4px;"
我们可以使用此代码:
webElement.getAttribute("outerHTML").split(">")[0]
其中webElement是&#34; a&#34;。
或更确切地说:
String s = we.getAttribute("outerHTML");
s = s.substring(2, s.indexOf(">"));