gpt4 book ai didi

html - 获取表单中的所有元素

转载 作者:技术小花猫 更新时间:2023-10-29 12:38:48 24 4
gpt4 key购买 nike

我想使用 Selenium 提交包含多个元素的表单。例如:

<form name="something">
<input type="text" name="a">Username</input>
<input type="password" name="b">password</input>
<select name="c" id="c">
<option value="1">1</option>
<option value="2">2</option>
</select>
<input type="submit" name="submit">submit</input>
</form>

如果我使用 find.Element(By.name) 来找出表单元素,我怎样才能得到它的子元素 a、b 和 c?然后将值输入到这三个元素中,然后提交表单?

另一个类似的问题是:如果我获取元素a,如何获取元素bc是相同的形式并且先填写(或选择)值,然后提交表单?

提前致谢!

最佳答案

您可以使用 xpath 获取使用 parent/* 的特定元素的所有直接子元素。

如果您已经使用 findElement() 获得了 form 元素,如下所示:

WebElement formElement = driver.findElement(By.name("something"));
List<WebElement> allFormChildElements = formElement.findElements(By.xpath("*"));

或直接使用:

List<WebElement> allFormChildElements = driver.findElements(By.xpath("//form[@name='something']/*"));

然后查看每个元素的标签和类型来指定它的值:

for (WebElement item : allFormChildElements)
{
if (item.getTagName().equals("input"))
{
switch (item.getAttribute("type"))
{
case "text":
//specify text value
break;
case "checkbox":
//check or uncheck
break;
//and so on
}
}
else if (item.getTagName().equals("select"))
{
//select an item from the select list
}
}

关于html - 获取表单中的所有元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20148698/

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