首页 > 解决方案 > 请帮助获取 webelement 的值

问题描述

我想寻求帮助 - 我需要从 WebElement 'input' 中获取值。我尝试了像 getText() 这样的通用方法,但它不起作用。然后我在控制台中尝试了 JavaScript,在控制台中它工作正常:

"document.evaluate('(//div[@id="CreateOrderBlock"]//input[@class="el-input__inner"])[3]',document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue.value;"

但是在测试中如何处理呢?(Selenium WebDriver + Java) 如何将其转换为 int java?也许我需要 JavascriptExecutor ,但无论如何我都想举个例子。我试过像:

 String summValueString = (String)((JavascriptExecutor) driver).executeScript("document.evaluate('(//div[@id='CreateOrderBlock']//input[@class='el-input__inner'])[3]',document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue.value;");
<div class="input el-input">
<!---->
<input autocomplete="off" type="text" rows="2" validateevent="true" class="el-input__inner">
<!---->
<!---->
<!---->
</div>

先感谢您

标签: javascriptselenium-webdriverautomated-testsselenium-chromedriver

解决方案


要获取input文本的值,请使用.getAttribute("value")方法而不是.getText().


推荐阅读