当前位置: 首页 > 知识库问答 >
问题:

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

隗轶
2023-03-14

我是测试新手,如果我的问题听起来有点初级,我会提前道歉。

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

共有3个答案

苏宾鸿
2023-03-14
webElement.getAttribute("href");
webElement.getAttribute("class");
.
.
.

或者把它们都弄到手:

Object[] attr = ((JavascriptExecutor)seleniumdriver).executeScript("return arguments[0].attributes);", webElement);
夏侯玄天
2023-03-14

您可以读取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

蟒蛇:

element.get_attribute('innerHTML')

Java:

elem.getAttribute("innerHTML");

C#:

element.GetAttribute("innerHTML");

红宝石:

element.attribute("innerHTML")

JS:

element.getAttribute('innerHTML');

如果您想要整页HTML,请使用以下代码:-

driver.getPageSource();
羊丰茂
2023-03-14

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

webElement.getAttribute("outerHTML");

它将返回元素本身的HTML以及所有子元素。我不确定这是否正是你想要的。我认为没有办法只获取所选元素的HTML。

 类似资料:
  • 问题内容: 我正在使用Python绑定来运行Selenium WebDriver。 我知道我可以像这样抓取网络元素… 而且我知道我可以通过…获得完整的页面资源 但是无论如何,有没有获得“元素来源”? Python的Selenium Webdriver文档基本上不存在,我在代码中看不到任何能够启用该功能的东西。 对访问元素(及其子元素)的HTML的最佳方法有何想法? 问题答案: 您可以读取属性以获取

  • 问题内容: 请参阅以下元素: 找到我的元素: 因此,找到后并使用带有selenium 或return 的文本: 所以我的问题是如何只获得没有这一点的最后一行 问题答案: 所需的文本出现在文本节点中,并且无法直接使用Selenium检索,因为它仅支持元素节点。 您可以删除开头: 您还可以使用正则表达式从中提取所需的内容: 或使用一段JavaScript:

  • 请参阅以下元素: 找到我的元素: 因此,在找到这个并使用selenium和或获取文本后,返回: 所以我的问题是如何只得到最后一行没有这个

  • 问题内容: 这是我从Selenium WebElement获得价值的测试代码。 结果就是这样,这需要很长时间。我想快点。 1.跳过一些元素 如果价值不是我想要的。跳过以(继续)获得另一个获取值。 2.通过xpath过滤 此示例获取所有元素(// *)。因此,当我得到它时,我过滤了元素,这是个好方法。但是我仍然有几百个要素,我需要最小化处理时间。 3,多线程 我测试了Runnable Callabl

  • 问题内容: 我想在PHP中检索链接(网页)的HTML代码。例如,如果链接是 那么我要提供该页面的HTML代码。我想检索此HTML代码并将其存储在PHP变量中。 我怎样才能做到这一点? 问题答案: 如果您的PHP服务器允许使用url fopen包装器,则最简单的方法是: 如果需要更多控制,则应查看cURL函数:

  • 问题内容: 我有一个包含由url找到的链接的WebElement。我可以通过以下方式提取网址: 但是问题是:如何提取它的锚点,我正在尝试这样: 它给了我空值。我100%确信此链接具有锚点。有什么办法获得锚点吗?它更加复杂,但是示例简化的代码可能如下所示: 问题答案: 试试这个: