【问题标题】:Select and Click iframe选择并单击 iframe
【发布时间】:2020-01-06 22:40:35
【问题描述】:

我无法选择网页内的 iframe

代码

IWebElement go = Driver.FindElement(By.XPath("/html/body/div[2]/div[2]/main/div/div[1]/ul/li/div/div/div[2]/iframe[1]"));
go.Click();

xpath

/html/body/div[2]/div[2]/main/div/div[1]/ul/li/div/div/div[2]/iframe[1]

错误

'OpenQA.Selenium.NoSuchElementException' Unable to locate element: /html/body/div[2]/div[2]/main/div/div[1]/ul/li/div/div/div[2]/iframe[1]

【问题讨论】:

  • 错误表明 XPath 不正确。
  • 来自tagging help“你应该在标题中使用标签的唯一情况是它们与标题的对话语气有机。”我已经删除了“ C# selenium" 来自你的标题。
  • 如果您提供您要定位的链接,那就更好了。 XPath 似乎是错误的,我也怀疑单击 iframe 想要什么。
  • 此 XPath 是来自浏览器的副本。

标签: c# html selenium iframe


【解决方案1】:

如果要与 iframe 中的元素交互,则需要先切换 WebDriver 上下文。

var iframeElement = Driver.FindElement(By.XPath("//iframe")); // gets iframe from page
Driver.SwitchTo().Frame(iframeElement.GetAttribute("name")); // switch to iframe using its name

// now you can interact with elements within the <iframe> element.

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多