<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)
答案 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();