大家好我在Selenium和Chrome上遇到一些问题,我需要通过SendKeys发送一个非常大的字符串(> 20&#39,000个字符)。它开始非常快,但随后它一直在减速,直到它停止向我的身体发送密钥contenteditable = true,我指的是By xpath。浏览器然后它没有响应,我需要通过任务管理器(我在Windows 10上)杀死它。
更新:我还尝试发送更少的字符来分割字符串并进行一些休眠,问题不是由chromedriver必须写入的字符数量引起的,而是由文本框中的字符数量引起的......
答案 0 :(得分:0)
您可以尝试使用其他方式通过JavaScript输入字符。
WebElement element = driver.findElement(By.xpath(yourXpath));
JavascriptExecutor jse = (JavascriptExecutor)driver;
jse.executeScript("arguments[0].innerText=arguments[1];", element, yourLongText);
答案 1 :(得分:0)
正如Monsignor所提到的,你应该使用JavaScript。如果您有输入HTML元素,您还可以使用以下内容:
WebElement element = driver.findElement(By.xpath(yourXpath));
JavascriptExecutor jse = (JavascriptExecutor)driver;
jse.executeScript("arguments[0].value = arguments[1]", element, yourLongText);