繁体   English   中英

无法通过 XPath 选择器为没有名称或 ID 的类型文本找到元素

[英]Unable to find Element via XPath Selector for type text with no name or Id

铬检查

使用 Chrome

C#中的代码

IWebElement Search =
   driver.FindElement(By.XPath("//*[@placeholder='search' and
   @type='text']"));
       Actions actions_Search = new Actions(driver);
       actions_Search.MoveToElement(Search).Click().SendKeys("ABCDEFG").Perform();

如果我们在HTML DOM是否有唯一条目,请检查dev tools (谷歌浏览器)。

您应该检查的 xpath :

//input[contains(@class,'searchbox') and @placeholder='search' @type='text']

检查步骤:

Press F12 in Chrome -> 转到element部分 -> 执行CTRL + F -> 然后粘贴xpath并查看您想要的element是否被1/1匹配节点突出显示

如果我们有唯一的条目 1/1,那么您可以使用以下代码:

IWebElement elem = driver.FindElement(By.Xpath("//input[contains(@class,'searchbox') and @placeholder='search' @type='text']")).SendKeys("ABCDEFG");

我不确定为什么你需要一个动作类。

大多数情况下,您无法通过 xpath 找到元素但该元素存在,可能是因为它存在于不同的 iframe 中

通过代码(在 Chrome 控制台中)从顶级元素检查浏览器中元素的位置:

$x("//input")

然后如果没有找到,切换到不同的 iframe,如下所示: 在此处输入图片说明

然后在代码中使用 iframe 开关

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM