gpt4 book ai didi

java - 如何在 selenium webdriver 中的多个文本框中插入值

转载 作者:行者123 更新时间:2023-11-30 08:12:48 24 4
gpt4 key购买 nike

这是我的java代码

package com.ej.zob.modules;

import org.openqa.selenium.By;

public class SetExchange {
public void Execute(String CountryName, String value)
{
LaunchApplication.driver.findElement(By.linkText("SET")).click();
LaunchApplication.driver.findElement(By.linkText("EXCHANGE RATE")).click();
//LaunchApplication.driver.findElement(By.id("new_Afghanistan_AFN")).sendKeys(value);
LaunchApplication.driver.findElement(By.xpath("//input[@maxlength='4']")).sendKeys(value);
LaunchApplication.driver.findElement(By.xpath("//input[@value='SET']")).click();

}

}

这是我的html

<div style="display: table-cell;width:270px" name="cell">
<input id="new_Afghanistan_AFN" type="text" maxlength="4">
<input type="button" value="SET" onclick="setExchangeRate('Afghanistan','AFN')" name="save">
<div id="msg_Afghanistan_AFN"></div>
</div>

我的网页中有超过 100 个文本框和相同数量的按钮 在文本框前面。我想在所有 100 个文本框中插入值按顺序和类似地单击按钮。但是从上面的代码我可以在单个文本框中插入值并类似地单击单个按钮。 所以我的问题是如何将值插入所有文本框并单击多个按钮。每个文本框都有不同的 id 但如果我使用 findelement(By.id) 那么代码会太长。

最佳答案

如果所有按钮和文本框都被同一个 div 包围,您可以这样搜索:

List<WebElement> divs = LaunchApplication.driver.findElements(By.name("cell")); 

请注意,findElements 会返回所有符合条件的元素。

然后你可以像这样遍历结果:

for(WebElement elem: divs){
elem.findElement(By.cssSelector("[type=text]")).sendKeys("YOUR KEYS TO SEND");
elem.findElement(By.cssSelector("[type=button]")).click();
}

这将首先选择文本字段,然后选择每个带有名称单元格的 div 的按钮。也许您需要检查是否有其他名为“cell”的 div 不包含这些元素。

如果您不知道 CssSelectors,这些将匹配属性文本。有关更多信息,请查看此处 http://www.w3schools.com/cssref/css_selectors.asp

另一种方法是读入/或创建 ID 列表,然后循环获取元素。

这对你有帮助吗,如果没有请随时评论

关于java - 如何在 selenium webdriver 中的多个文本框中插入值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30253722/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com