selenium webdriver Findelement困惑

时间:2014-01-26 13:28:17

标签: selenium find element phantomjs

我浏览了论坛,但没有找到正确的答案来解决我的误解。

假设我们有html代码:

<h3 id="param_search_0" class="mygray open" data-searchparam="any42" data-id="0">Text here</h3>

所以如果我按照标签“h3”得到元素:

IWebElement get_element = Element_from_above.FindElement(By.Tag("h3"));

我会得到什么元素(选择供以后使用),只是文字?如果是,那么我如何从<h3></h3>循环中选择完整的行元素,或单独的,文本和内部参数。

谢谢你,对不起这个愚蠢的问题。

1 个答案:

答案 0 :(得分:3)

为您提供Java答案,因为您没有指定您正在使用的语言:

假设您已经创建了一个Web驱动程序实例:

WebDriver driver = new FirefoxDriver();

首先,您需要使用该网页的网址访问您感兴趣的网页:

driver.get(url);

然后,您可以在网页中获得第一个<h3>元素

WebElement element = driver.findElement(By.tagName("h3"));

或者您可以在网页中获得所有<h3>元素的列表:

List<WebElement> elements = driver.findElements(By.tagName("h3"));

然后,您可以获得该元素的各种属性。

例如,为了在您调用它时获得“整行”:

String line = element.getAttribute("outerHTML");

例如,为了在您调用它时获取“仅文本”:

String line = element.getAttribute("innerHTML");

以类似的方式,您可以获得元素中每个属性的值......