如何在H1驱动程序中获取没有参数的文本?

时间:2017-04-21 08:07:09

标签: selenium-webdriver

<html>
  <head>...</head>
  <body>
    <h1>Phonetic Translator</h1>
    <br>
    <link rel="stylesheet" href="/style.css" type="text/css">
    <title>electRa Phonetic Translator</title>
    <p>Today's password is:</p>
    <h1>
      MQQJXJLCQZ
      <hr width="80%">
    </h1>
    <p>The phonetic translation is:</p>
    <h3>
      ...
    </h3>
    ...
  </body>
<html>

您好,

我想要获取文字MQQJXJLCQZ。由于Body之后有两个H1标签。我使用XPath来获取文本值,但不幸的是我收到错误消息Type mismatch: cannot convert from String to WebElement

我写的代码是:

    String PasswordxPath = "/html/body/h1[2]/text()";
    WebElement H1Element = driver.findElement(By.xpath(PasswordxPath));
    WebElement getPassword = H1Element.getText();

请问,有人可以更正此代码或建议另一种获取文本值的方法吗?

谢谢,

UPDATE1

我使用string来获取文本值,但现在我无法使用sendKeys将此值放在表单中。错误日志如下:

  

元素信息:{using = xpath,value = / html / body / h1 [2] / text()} at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Nativ e Method)at sun.reflect.NativeConstructorAccessorImpl。 newInstance(Unknow n Source)

3 个答案:

答案 0 :(得分:1)

我遇到了类似的问题,其中getText()无法正常工作。  尝试使用getAttribute("innerHTML")

答案 1 :(得分:0)

在最后一行中将WebElement替换为String

String PasswordxPath = "/html/body/h1[2]/text()";
WebElement H1Element = driver.findElement(By.xpath(PasswordxPath));
String getPassword = H1Element.getText();

答案 2 :(得分:0)

如上所述,这是问题

  WebElement getPassword = H1Element.getText();

getText()返回String值但不返回WebElement。所以你需要在这里使用String,比如

   String getPassword = H1Element.getText();