gpt4 book ai didi

xpath - Selenium :如何断言选中的所有复选框?

转载 作者:行者123 更新时间:2023-12-03 16:21:59 26 4
gpt4 key购买 nike

Decimal totalCheckboxes = selenium.GetXpathCount("//input[@type='checkbox']");
for (int i = 1; i < totalCheckboxes + 1; i++)
{
// Assert attempt 1
//Assert.IsTrue(selenium.IsChecked("/descendant-or-self::input[@type='checkbox'][" + i + "]"));

// Assert attempt 2
//Assert.IsTrue(selenium.IsChecked("//input[@type='checkbox'][" + i + "]"));
}


我需要断言选中多个复选框。复选框的数量并不总是固定的,因为它们取决于我的搜索条件。此外,复选框具有不同的ID和名称。例如,对于第一个复选框,id =“ ctl07_ctl01_ctl01_cbxRepeater_e5962e80-ca07-42e3-908f-1217ef5787d4” name =“ ctl07 $ ctl01 $ ctl01 $ cbxRepeater_e5962e80-ca07-42e3-908f-1217ef5787d4”

对于第二个复选框,id =“ ctl07_ctl01_ctl03_cbxRepeater_c094f428-7ead-4ded-a11b-5824be49a95b” name =“ ctl07 $ ctl01 $ ctl03 $ cbxRepeater_c094f428-7ead-4ded-a11b-5824be49a95b”

对于以下复选框,依此类推。

我尝试了几种方法来添加断言以断言已选中复选框(上面的“尝试尝试1”和“尝试尝试2”),但是当我运行测试时,该操作仍然失败。我得到的错误:

Selenium.SeleniumException: ERROR: Element /descendant-or-self::input[@type='checkbox'][1] not found
Selenium.SeleniumException: ERROR: Element //input[@type='checkbox'][2] not found


在这方面的任何帮助将不胜感激。提前致谢!

最佳答案

尝试:

Assert.IsTrue(selenium.IsChecked("xpath=(//input[@type='checkbox'])[" + i + "]")); 


注意 ()的添加。

()说首先对我进行评估(如您所愿)。这使您可以执行 (...)[1]查找在 ()中评估的xpath的第一个元素。

关于xpath - Selenium :如何断言选中的所有复选框?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6047103/

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