gpt4 book ai didi

c# - Selenium IWebElement 匹配选择器

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

有没有一种方便的方法来检查 IWebElement 是否匹配 By 选择器
像这样的东西:

bool isMatch = iWebElement.Matches(By.CssSelector("[data-role='collapsible-set']"))

或解决此问题的任何方法。

我正在遍历子元素寻找符合特定条件的父元素

public IWebElement FindParent(IWebElement element)
{
var parents = element.FindElements(By.XPath(".."));
if (parents == null)
return null;

var possibleParent = parents.First();
var dataroleAttribute = possibleParent.GetAttribute("data-role");
if (dataroleAttribute != null && dataroleAttribute.Contains("collapsible-set"))
{
return possibleParent;
}
else
{
return this.FindParent(possibleParent);
}
}

我有一个父选择器,它有一个可以被覆盖的默认值,我想重用它,因为它可以从对象的外部配置。

    public By ParentSelector
{
get { return parentSelector != null ? parentSelector : By.CssSelector("[data-role='collapsible-set']"); }
set { parentSelector = value; }
}

最佳答案

对于 CSS 选择器,我设法绘制了这个。

    public static bool ElementIs(this IWebDriver driver, IWebElement item, By selector)
{
return (bool)(driver as IJavaScriptExecutor).ExecuteScript(string.Format("return $(arguments[0]).is(\"{0}\")", selector.ToString().Split(' ')[1]), item);
}

关于c# - Selenium IWebElement 匹配选择器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23109821/

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