Selenium C#-通过其中的span元素查找div元素文本

Selenium C#-通过其中的span元素查找div元素文本,c#,selenium,xpath,C#,Selenium,Xpath,我想获取元素的文本。 我唯一能使用的是元素,它位于中 名称 约翰 如何使用lblName或Name接收John span = driver.findElement(By.id("lblName")); div = span.findElement(By.xpath("..")); 您可以使用xpath span = driver.findElement(By.id("lblName")); div = span.findElement(By.xpath("..")); 您可以尝试://s

我想获取
元素的文本。 我唯一能使用的是
元素,它位于


名称
约翰
如何使用
lblName
Name
接收
John

span = driver.findElement(By.id("lblName"));
div = span.findElement(By.xpath(".."));
您可以使用xpath

span = driver.findElement(By.id("lblName"));
div = span.findElement(By.xpath(".."));

您可以尝试:
//span[@id='lblName']/parent::div/text()

您可以尝试:
//span[@id='lblName']/parent::div/text()
类似的内容:

string xml = "<?xml version=\"1.0\"?>" + 
             "<div>" + 
             "<span id=\"lblName\" class=\"fieldTitle\">Name</span>" + 
             "</div>";

XDocument xdoc = XDocument.Parse(xml);

var parent = xdoc.Descendants().First(el => el.Name == "span" && 
                         el.Attribute("id") != null &&
                         el.Attribute("id").Value == "lblName").Parent;
stringxml=”“+
"" + 
“姓名”+
"";
XDocument xdoc=XDocument.Parse(xml);
var parent=xdoc.subjects().First(el=>el.Name==“span”&&
el.属性(“id”)!=null&&
el.Attribute(“id”).Value==“lblName”).Parent;
类似这样的内容:

string xml = "<?xml version=\"1.0\"?>" + 
             "<div>" + 
             "<span id=\"lblName\" class=\"fieldTitle\">Name</span>" + 
             "</div>";

XDocument xdoc = XDocument.Parse(xml);

var parent = xdoc.Descendants().First(el => el.Name == "span" && 
                         el.Attribute("id") != null &&
                         el.Attribute("id").Value == "lblName").Parent;
stringxml=”“+
"" + 
“姓名”+
"";
XDocument xdoc=XDocument.Parse(xml);
var parent=xdoc.subjects().First(el=>el.Name==“span”&&
el.属性(“id”)!=null&&
el.Attribute(“id”).Value==“lblName”).Parent;

无法通过Selenium获取文本节点。请尝试以下JS解决方法:

IWebElement span = driver.FindElement(By.Id("lblName"));
IWebElement div = span.FindElement(By.XPath(".."));
string script = "var nodes = arguments[0].childNodes;" +
                "var text = '';" +
                "for (var i = 0; i < nodes.length; i++) {" +
                "    if (nodes[i].nodeType == Node.TEXT_NODE) {" +
                "        text += nodes[i].textContent;" +
                "    }" +
                "}" +
                "return text;";
string text = driver.GetJavaScriptExecutor().ExecuteScript(script, div).ToString();
IWebElement span=driver.FindElement(By.Id(“lblName”);
IWebElement div=span.FindElement(By.XPath(“…”);
string script=“var nodes=参数[0]。childNodes;”+
“var text=”+
“对于(var i=0;i
无法通过Selenium获取文本节点。请尝试以下JS解决方法:

IWebElement span = driver.FindElement(By.Id("lblName"));
IWebElement div = span.FindElement(By.XPath(".."));
string script = "var nodes = arguments[0].childNodes;" +
                "var text = '';" +
                "for (var i = 0; i < nodes.length; i++) {" +
                "    if (nodes[i].nodeType == Node.TEXT_NODE) {" +
                "        text += nodes[i].textContent;" +
                "    }" +
                "}" +
                "return text;";
string text = driver.GetJavaScriptExecutor().ExecuteScript(script, div).ToString();
IWebElement span=driver.FindElement(By.Id(“lblName”);
IWebElement div=span.FindElement(By.XPath(“…”);
string script=“var nodes=参数[0]。childNodes;”+
“var text=”+
“对于(var i=0;i
我不确定原因,但我无法通过idfind找到元素,即iframe导致元素找不到我不确定原因,但我无法通过idfind找到元素,即iframe导致元素找不到