解决方案:Java+selenium定位元素后,sendKeys()输入的内容显示不完整

一、执行环境: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);//调用

THE END

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值