gpt4 book ai didi

c# - 如何使用 C# 和 Selenium 通过 InnerHTML 搜索来查找元素

转载 作者:行者123 更新时间:2023-12-02 17:29:26 25 4
gpt4 key购买 nike

我想通过搜索匹配的innerHTML 字符串来获取特定的元素id。例如,我想找到具有innerHTML“Start of Car”的元素id。

enter image description here

public static bool SelectSomething(IWebDriver driver, string searchName)
{
var js = driver as IJavaScriptExecutor;
if (js == null) return false;
var element = (string) js.ExecuteScript("...script to get the ids...");
var x = driver.FindElement(By.Id(element));
x.Click();
return true;
}

我知道可以使用 JavaScript 循环查找所有的 innerHTML,但是一旦找到与“searchName”字符串匹配的 innerHTML,如何返回 id?

最佳答案

使用 jQuery 很简单,只需使用 :contains - https://api.jquery.com/contains-selector/

http://jsfiddle.net/jayblanchard/5UvFE/

var found = $("td:contains('Start of Car')").attr('id');

这允许您返回相关元素的 ID。

或者,这里有一种仅使用 JavaScript 来完成此操作的方法 -

function textID(node, text) {
if (node.nodeValue == text) {
return node.parentNode;
}

for (var i = 0; i < node.childNodes.length; i++) {
var returnValue = textID(node.childNodes[i], text);
if (returnValue != null) {
return returnValue;
}
}

return null;
}

http://jsfiddle.net/jayblanchard/5UvFE/1/

关于c# - 如何使用 C# 和 Selenium 通过 InnerHTML 搜索来查找元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23204886/

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