Java+selenium定位元素后,设置input的值,sendKeys()输入的内容显示不完整

wylc123 1年前 ⋅ 2259 阅读

一、执行环境:Java + selenium + chrome

二、问题描述:

使用XPath定位到元素后,使用sendKeys()输入内容,在输入框显示出来的内容不完整,也就是与所输入内容不一致。比如sendKeys()输入的是18611372039,输入后,只显示部分数字,18611。

再比如,输入的内容为:"good",显示为:god;

输入的内容为:goood,显示为:good;

输入的内容为:hello,显示为:helo。

三、解决过程:

网上各种方法,总结一下,大致为:

(1)((JavascriptExecutor)driver).executeScript("document.getElementById(\"kw\").value=\"yeetrack\"");这种方法可以用,但是JavascriptExecutor没有xpath定位方法,所以不能使用到利用xpath定位的场景。

(2)其他的方法。

(3)笨,但不可置否的方法:一个一个地写入。(看到原作者虽然提到了这一点,但是没有写出过程,但愿他没有写了一大段的一模一样的定位。。。你懂得。。。)

四、上代码:(利用for循环写入)

// 写入方法
public static void ForSendKeys(WebElement element,String content){
	for (int i = 0; i < content.length(); i++) {
		element.sendKeys(content.charAt(i)+"");
	}
}
 
// 调用方式
 
WebElement element = "";//获取元素
String content = "";//获取输入的内容
 
ForSendKeys(element,content);//调用

 

更多内容请访问:IT源点

相关文章推荐

全部评论: 0

    我有话说: