gpt4 book ai didi

c# - 使用 Selenium 选择选项的最快方法?

转载 作者:行者123 更新时间:2023-11-28 20:24:04 25 4
gpt4 key购买 nike

我有一个 UI 测试在一个下拉列表中失败,其中有很多选项(大于 1000)。错误消息是“向远程 WebDriver 服务器发送 URL 的 HTTP 请求...在 60 秒后超时”。

现在我承认在下拉列表中有那么多选项不是好的做法,但我目前无法更改。话虽如此,使用 Selenium 通过文本选择选项的最快方法是什么?我可以使用 xpath 来获得任何速度来查找选项,还是有其他方法可以做到这一点?谢谢。

这是我当前的代码:

            var fieldElement = driver.FindElement(dropDownLocator);
var select = new SelectElement(fieldElement);
select.SelectByText(value);

最佳答案

这是我最后做的。我使用 IJavaScriptExecutor 并编写了一个脚本来查找具有特定文本的列表中的第一个选项。这个解决方案并不完美,如果在我的测试中我选择了列表底部的一个选项,它可能仍然会超时。在我的情况下,该选项根本不会影响功能,因此我可以选择列表顶部附近的一个选项,它会很快找到它。

var fieldElement = driver.FindElement(dropDownLocator);                       
var js = (IJavaScriptExecutor)driver;
var script = string.Format("$('#{0} option').each(function (){{if($(this).text() == \"{1}\"){{$(this).attr('selected', true);return false;}}}});", fieldElement.GetAttribute("id"), value);
js.ExecuteScript(script);

关于c# - 使用 Selenium 选择选项的最快方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19868389/

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