Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何高效地向java selenium textarea元素发送大字符串

如何高效地向java selenium textarea元素发送大字符串
EN

Stack Overflow用户
提问于 2021-09-19 13:34:40
回答 2查看 170关注 0票数 0

我需要将字符串类型中的大文本发送到textArea元素。我使用

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
driver.findElement(By.xpath(textarea_xpath)).sendKeys(fileText);

但是它太慢了。有什么办法能让这一切变得更快?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-09-20 01:51:03

您可以使用JS executor进行尝试:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
  public void enterTextJS(By locator, String text) {
    JavascriptExecutor jsExecutor = (JavascriptExecutor) driver;
    WebElement element = driver.findElement(locator);
    jsExecutor.executeScript("arguments[0].value='" + text + "';", element);
  }
票数 1
EN

Stack Overflow用户

发布于 2021-09-20 22:04:47

基本上与Villa_7的解决方案相同。设置6k字符的文本需要大约25毫秒。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
package selenium;

import java.time.LocalDateTime;
import java.util.Random;

import org.openqa.selenium.By;
import org.openqa.selenium.JavascriptExecutor;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;

public class OmarHafez extends WebDriverSetup {

    public static void main(String[] args) {

        WebDriver driver = startChromeDriver();
        driver.get("https://demoqa.com/automation-practice-form");
        WebElement addressField = driver.findElement(By.tagName("textarea"));
        addressField.click();
        String s = randomStringOfLength(6000);
        System.out.println(LocalDateTime.now());
        String js = "document.evaluate(\"//textarea[@id='currentAddress']\", document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue.value = '" + s + "';";
        JavascriptExecutor javascriptExecutor = (JavascriptExecutor)driver;
        javascriptExecutor.executeScript(js);
        System.out.println(LocalDateTime.now());
        System.out.println(addressField.getAttribute("value"));
        driver.quit();
    }
    
    public static String randomStringOfLength(int length) {
        int leftLimit = 48; // numeral '0'
        int rightLimit = 122; // letter 'z'
        Random random = new Random();
        String generatedString = random.ints(leftLimit, rightLimit + 1)
          .filter(i -> (i <= 57 || i >= 65) && (i <= 90 || i >= 97))
          .limit(length)
          .collect(StringBuilder::new, StringBuilder::appendCodePoint, StringBuilder::append)
          .toString();
        return generatedString;
    }

}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69247244

复制
相关文章
docker 容器自动退出(退出docker容器命令)
centos 启动一个容器添加了-d 参数,但是docker ps 找不到容器,docker ps -a查看却已经退出了 [root@VM_0_6_centos ~]# docker run -d centos a44b2b88559b68a2221c9574490a0e708bff49d88ca21f9e59d3eb245c7c0547 [root@VM_0_6_centos ~]# docker ps 找不到容器信息 [root@VM_0_6_centos ~]# docker ps -a status列显示已退出 [root@VM_0_6_centos ~]# docker logs centos 没有任何异常日志
全栈程序员站长
2022/07/31
5.5K0
在容器内获取 Pod 信息
注意:env 不直接设置 value,而是使用 valueFrom 对 Pod 的元数据进行引用
看、未来
2022/09/27
8950
如何拷贝Docker容器内的文件?
某个项目容器需要添加 wkhtmltopdf 软件包用于处理html与pdf文件转换,由于默认的apt源服务器在国外,使用apt 安装 wkhtmltopdf 时下载速度只有感人的几kb/s。
用户1560186
2019/11/20
4.8K0
为Docker容器中的服务配置固定容器IP教程
如果不固定ip,每次主机重启后,,docker会动态给容器分配ip,导致redis容器的IP自动换了 ,然后还得去改傻妞配置就很烦,有些时候还会造成其他影响。
季春二九
2023/04/04
2.8K0
如何使用Docker Compose在容器内运行Linux命令?
Docker Compose 是一个用于定义和运行多容器Docker应用程序的工具。除了可以启动应用程序的多个容器之外,Docker Compose还提供了一种在容器内部执行命令的方式。在本文中,我们将详细介绍如何使用Docker Compose在容器内运行Linux命令,并展示一些常见的应用场景。
网络技术联盟站
2023/06/08
3K0
如何使用Docker Compose在容器内运行Linux命令?
Docker-compose容器编排
Compose 是 Docker 公司推出的一个工具软件,可以管理多个 Docker 容器组成一个应用。你需要定义一个 YAML 格式的配置文件docker-compose.yml,写好多个容器之间的调用关系。然后,只要一个命令,就能同时启动/关闭这些容器
一个风轻云淡
2022/11/15
5230
Docker-compose容器编排
Docker-compose(容器编排)
Compose 是 Docker 公司推出的一个工具软件,可以管理多个 Docker 容器组成一个应用。你需要定义一个 YAML 格式的配置文件docker-compose.yml, 写好多个容器之间的调用关系。然后,只要一个命令,就能同时启动/关闭这些容器。
鱼找水需要时间
2023/02/16
1.1K0
Docker-compose(容器编排)
Docker-compose容器编排
docker建议我们每一个容器中只运行一个服务,因为docker容器本身占用资源极少,所以最好是将每个服务单独的分割开来,但是这样我们又面临了一个问题。
害恶细君
2022/11/22
9010
Docker-compose容器编排
容器内的潘多拉——恶意代码
从最基本的层面来讲,容器让你可以将更多的计算工作负载塞入到单单一台服务器上,并且让你可以在一瞬间为新的计算任务提高增加容量。从理论上来说,这意味着你可以购买较少的硬件,自建或租赁较少的数据中心场地,并且雇用较少的人手来管理这些设备。
CNCF
2019/12/05
1K0
容器内如何使用GPU卡
         目前容器化部署服务已经成为微服务管理的趋势,大家知道docker目前cgroup支持cpu,内存的隔离,在gpu隔离上目前还做不到,业界gpu卡基本都是英伟达的,目前英伟达提供了插件来支持容器内获取gpu卡信息,并且能做到隔离。
jouislu
2019/08/27
4.1K0
【docker-compose】容器编排
Compose 是 Docker 公司推出的一个工具软件,可以管理多个 Docker 容器组成一个应用。你需要定义一个 YAML 格式的配置文件docker-compose.yml,写好多个容器之间的调用关系。然后,只要一个命令,就能同时启动/关闭这些容器
无敌小菜鸟
2022/01/19
9410
【docker-compose】容器编排
[译] SIGTERM:Linux 容器的优雅终止(退出代码 143)
SIGTERM(信号 15)在基于 Unix 的操作系统(如 Linux)中用于终止进程。SIGTERM 信号提供了一种优雅的方式来终止程序,使其有机会准备关闭并执行清理任务,或者在某些情况下拒绝关闭。Unix/Linux 进程可以以多种方式处理 SIGTERM,包括阻塞和忽略。
CS实验室
2022/08/01
12K0
[译] SIGTERM:Linux 容器的优雅终止(退出代码 143)
docker-compose容器编排
Docker-Compose是Docker官方的开源项目,负责实现对Docker容器集群的快速编排。
别团等shy哥发育
2023/02/25
1.7K0
docker-compose容器编排
[译] SIGSEGV:Linux 容器中的分段错误(退出代码 139)
SIGSEGV,也称为分段违规或分段错误,是基于 Unix 的操作系统(如 Linux)使用的信号。它表示程序尝试在其分配的内存之外进行写入或读取,由于编程错误、软件或硬件兼容性问题或恶意攻击(例如缓冲区溢出)。
CS实验室
2022/08/01
8.3K0
[译] SIGSEGV:Linux 容器中的分段错误(退出代码 139)
docker拷贝目录到容器_docker退出容器命令
语法是这么个写法,在实际的操作中,在写容器内的路径的时候并不能自动补全,所以实际上还需要还要先进入到容器才行。
全栈程序员站长
2022/09/24
8980
docker拷贝目录到容器_docker退出容器命令
docker-compose容器编排部署
  Docker-Compose是Docker官方的开源项目,负责实现对Docker容器集群的快速编排。
别团等shy哥发育
2023/02/25
1.5K0
docker-compose容器编排部署
如何使用Portworx为容器配置云原生存储
Portworx提供了企业在容器中运行关键任务数据库、大型及快速数据应用程序以及机器学习工作流所需的关键存储功能。
Portworx
2019/10/23
2.2K0
如何使用Portworx为容器配置云原生存储
容器组织服务docker-compose
在使用容器的时候,我们总是要运行很多的容器,才能组成一个服务,例如当写一个python程序的时候,使用了redis,那么就要运行两个容器,两个容器的之间的数据交互使用link进行连接,而在一台主机上,每次新建一个环境,都要进行docker run然后一大堆参数,对于记忆来说,是一种挑战。
SRE运维实践
2019/07/08
9420
Nagios报警时间间隔的配置
check_command:在commands.cfg文件中定义或在nrpe.cfg里面定义的命令;
星哥玩云
2022/07/03
1.6K0
点击加载更多

相似问题

Docker-compose容器退出,代码为0

122

Docker-compose容器退出,状态为0

13

Docker容器在docker-compose up -d之后退出,代码为0

22

如何调试随机退出代码为0的停靠容器

115

容器退出时,使用代码0退出的下列消息停靠容器

12
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文