5

我有html代码:

<div class="description">
<h3><strong>Samsung</strong> Galaxy SII (I9100)</h3>
<div class="phone_color"> ... </div>
...
</div>

我想使用 Selenium 2 (WebDriver) 从 /h3> 标记中获取三星 Galaxy SII (I9100)的值

有谁知道怎么做?

4

4 回答 4

3

这是用 C# 编写的,但将其转换为 Java 应该不难:

/** Declare variables **/
string descriptionTextXPath = "//div[contains(@class, 'description')]/h3";

/** Find the element **/
IWebElement h3Element = driver.FindElement(By.XPath(descriptionTextXPath));

/** Grab the text **/
string descriptionText = h3Element.Text;

根据您是否有其他具有“描述”类的 div 元素,您可能需要进一步微调您的结果。


以防万一:

为了在页面上找到所有用作描述以供进一步使用的 div,您可以执行以下操作:

/** Declare XPath variable **/
string descriptionElementXPath = "//div[contains(@class, 'description')]";

/** Grab all description div elements **/
List<IWebElement> descriptionElements = driver.FindElements(By.XPath(descriptionElementXPath ));

然后,您可以使用 forloop 遍历每个元素并获取所需的数据。

以下是上述 C# 代码到 Java 的转换:

/** 声明变量 **/

String descriptionTextXPath = "//div[contains(@class, 'description')]/h3";

/** 查找元素 **/

IWebElement h3Element = driver.findElement(By.xpath(descriptionTextXPath));

/** 抓取文本 **/

String descriptionText = h3Element.toString();

或者,

String descriptionText = h3Element.getText();
于 2012-08-10T16:14:41.917 回答
2
WebElement divElement = driver.findelement(By.classname("description"));
String str = divElement.getText();
System.out.println(str);

这是完美的..它有帮助..谢谢:)

于 2014-08-19T07:06:33.053 回答
0
WebElement divElement = driver.findelement(By.classname("description"));
String str = divElement.getText();
enter code here

str 包含值。

于 2012-09-18T07:04:59.253 回答
0
webDriver.findElement(By.tagName("h3"));
于 2017-05-12T10:53:04.220 回答