首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何从网页驱动程序中没有参数的H1标签中获取文本?

如何从网页驱动程序中没有参数的H1标签中获取文本?
EN

Stack Overflow用户
提问于 2017-04-21 16:07:09
回答 3查看 2.6K关注 0票数 0
代码语言:javascript
复制
<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

我写的代码是:

代码语言:javascript
复制
    String PasswordxPath = "/html/body/h1[2]/text()";
    WebElement H1Element = driver.findElement(By.xpath(PasswordxPath));
    WebElement getPassword = H1Element.getText();

有没有人能改正这段代码,或者建议其他方法来获取文本值?

谢谢,

UPDATE1

我已经使用字符串来获取文本值,但现在无法使用sendKeys将该值放入表单中。错误日志如下:

文本元素信息:{ sun.reflect.NativeConstructorAccessorImpl.newInstance0(Nativ‌​‌​e方法的文本元素信息:{Using=xpath,值=/html/body/h12/

()})

EN

回答 3

Stack Overflow用户

发布于 2018-06-30 06:16:03

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

票数 1
EN

Stack Overflow用户

发布于 2017-04-21 16:16:42

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

代码语言:javascript
复制
String PasswordxPath = "/html/body/h1[2]/text()";
WebElement H1Element = driver.findElement(By.xpath(PasswordxPath));
String getPassword = H1Element.getText();
票数 0
EN

Stack Overflow用户

发布于 2017-04-21 16:30:36

如上所述,问题是这样的

代码语言:javascript
复制
  WebElement getPassword = H1Element.getText();

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

代码语言:javascript
复制
   String getPassword = H1Element.getText();
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43537236

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档