java - Selenium WebDriver Java 同字段加词循环
问题描述
这是我的第一条消息,它看起来像新手,但我需要你的帮助)我的目标是从某个列表中添加成对的单词,单击“添加”按钮,然后用另一对单词重复操作。所以我创建了接收 2 个单词的方法,将它们添加到字段并按下添加按钮。
public static void addWord(String eng, String rus) {
driver.findElement(By.xpath("//input[contains(@placeholder, 'English Word')]")).sendKeys(eng);
driver.findElement(By.xpath("//input[contains(@placeholder, 'Russian Word')]")).sendKeys(rus);
driver.findElement(By.xpath("//button[contains(@class, 'add')]")).submit();
}
因此,如果我通过使用它手动进行操作addWord("Hello", "Привет");
,但我有一个很大的单词列表并且想要编写代码,它将从列表中获取一对单词并将它们添加到方法中,然后重复直到所有单词都被添加。请告诉我如何做到这一点,也许使用数组和循环,但我不知道如何正确地做到这一点。
解决方案
您可以使用密钥对创建一个 Map,然后对其进行迭代:
Map<String, String> yourMap = new HashMap<String, String>()
{
{
put("Hello", "Привет");
put("Hello 2", "Привет 2");
// Add all the inputs needed
}
};
public static void addWord(Map yourMap) {
yourMap.forEach((eng, rus) -> {
driver.findElement(By.xpath("//input[contains(@placeholder, 'English Word')]")).sendKeys(eng);
driver.findElement(By.xpath("//input[contains(@placeholder, 'Russian Word')]")).sendKeys(rus);
driver.findElement(By.xpath("//button[contains(@class, 'add')]")).submit();
});
}
推荐阅读
- php - PHP 两个相等的最大值
- mysql - 使用复合索引和持久列优化 MySQL 查询
- r - R data.table 按创建的列分组
- asp.net - 绝对过期和滑动过期不起作用(缓存)
- selenium - 使用 selenium 网格 docker 集群进行 Webscraping
- ubuntu-16.04 - Editorconfig 没有关于缩进的警告
- ios - 如何在 Xamarin.iOS 上共享指向 Whatsapp 的链接?
- java - While循环查找空格字符-Java
- java - 如何使用流打印HashMap中值的键
- php - 如何解决将每个注册类型的选定数量添加到数组时出现未定义索引错误?