如何使用C#和Selenium通过InnerHTML搜索元素
我想通过搜索匹配的innerHTML字符串来获取特定的元素id。例如,我想找到具有innerHTML“汽车开始”的元素id如何使用C#和Selenium通过InnerHTML搜索元素,c#,javascript,jquery,html,selenium,C#,Javascript,Jquery,Html,Selenium,我想通过搜索匹配的innerHTML字符串来获取特定的元素id。例如,我想找到具有innerHTML“汽车开始”的元素id 我知道可以使用JavaScript循环查找所有innerHTML,但一旦找到与“searchName”字符串匹配的innerHTML,如何返回id?使用jQuery很简单,只需使用:contains- 这允许您返回相关元素的ID 或者,这里有一种只使用JavaScript的方法- function textID(node, text) { if (node.no
我知道可以使用JavaScript循环查找所有innerHTML,但一旦找到与“searchName”字符串匹配的innerHTML,如何返回id?使用jQuery很简单,只需使用:contains- 这允许您返回相关元素的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;
}
函数textID(节点,文本){
if(node.nodeValue==文本){
返回node.parentNode;
}
对于(var i=0;i
为什么一个简单的
.Text
不起作用?我还没有考虑到这一点…Text会去哪里?
var found = $("td:contains('Start of Car')").attr('id');
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;
}