如何在Selenium

时间:2015-08-26 18:36:01

标签: java selenium testing selenium-webdriver selenium-chromedriver

我是测试的新手,所以如果我的问题听起来有些重要,我会提前道歉。

我正在使用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;"

5 个答案:

答案 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>

直播示例: -

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

下面您将找到根据不同绑定所需的语法。根据需要将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(">"));