gpt4 book ai didi

java - Selenium,确保选中所有复选框

转载 作者:行者123 更新时间:2023-12-01 09:46:55 26 4
gpt4 key购买 nike

我正在使用 Selenium 来测试 html 页面上的操作。我正在开发的包含多个复选框列表。我的 Selenium 脚本执行以下操作:-点击下拉列表显示复选框列表

-单击所有复选框

-点击下拉列表关闭复选框列表

-重复下一个列表

问题是有时脚本对于浏览器来说速度太快并且某些框没有被选中,这种情况经常发生,因为我进行了多次测试为了解决我的问题,我尝试制定一种方法来检查是否复选框被选中,如果没有,我再次单击,但它不起作用,并且增加了我的测试时间。这是我到目前为止的代码:

    public void clickClearanceListBox(int numberInList) throws InterruptedException {
int iteration = countTheNumberOfElement("//div[5]/div["+numberInList+"]/div[2]");

for(int i = 1; i <= iteration; i++) {
String xpathBox ="//div["+numberInList+"]/div[2]/div["+i+"]/div/div/label/span/span[2]";//xpath de la checkbox
String xpathInput = "//div["+numberInList+"]/div[2]/div["+i+"]/div/div/label/input";

clickTheDOMbyJs(xpathBox);

while(!checkBoxChecked(xpathInput)) {
Thread.sleep(200);
clickTheDOMbyJs(xpathBox);
}
}
}

或者:

    public void clickClearanceListBox(int numberInList) throws InterruptedException {
int iteration = countTheNumberOfElement("//div[5]/div["+numberInList+"]/div[2]");

for(int i = 1; i <= iteration; i++) {
String xpathBox ="//div["+numberInList+"]/div[2]/div["+i+"]/div/div/label/span/span[2]";//xpath de la checkbox
String xpathInput = "//div["+numberInList+"]/div[2]/div["+i+"]/div/div/label/input";

clickTheDOMbyJs(xpathBox);

while(!checkBoxChecked(xpathInput)) {
Thread.sleep(200);
}
}
}

最佳答案

看来你需要在这里使用WebDriverWait。首先,等待下拉列表完全加载,然后等待复选框可见。

不过,还是要给你一个警告。这些 xpath 可能非常脆弱,您的测试很容易崩溃。您应该考虑使用 id、类或其他属性来查找这些不同的元素。

关于java - Selenium,确保选中所有复选框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37924583/

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