【问题标题】:Can't click element inside iframe无法单击 iframe 内的元素
【发布时间】:2014-05-21 17:16:15
【问题描述】:

下面的屏幕截图是 iframe 的 HTML 代码。

Webdriver 可以识别前两个红色标记的对象,但是 Webdriver 不能单击最后一个标记的对象(即按钮)。我尝试使用不同的方式单击它(例如按 id、名称等单击)。但是还是不能点击提交按钮。

请帮我点击框架内的提交按钮。

【问题讨论】:

  • 是否有代码如何执行点击?发布错误怎么样?

标签: selenium iframe click


【解决方案1】:

您需要使用switchTo().frame() 访问frameiframe 中的内容。

driver.switchTo().frame("name");  // where name is the name of the iframe i.e. name="frameName", you would use framename
driver.switchTo().frame(0);       // You can switch to the frame by index
driver.switchTo().frame(element); // You can switch to the frame by a WebElement reference

在您的特定情况下,您可以使用:

driver.switchTo().frame("InstantSgn");

iframe 上下文中完成后切换出框架:

driver.switchTo().defaultContent();

【讨论】:

    【解决方案2】:

    今天我也遇到了同样的问题。可能只是因为您没有切换到框架,或者可能是我经历过的事情。

    这仅在 IE 中发生在我身上。在 Chrome 中完全没有问题。

    Actual Code

    如您所见,我确实切换到框架以确保可以找到此元素。但是,不可能。我找到的唯一解决方案是将 Thread.Sleep(2000) 让它通过。我不太清楚为什么,但我想这与 DOM 中不可用的内容有关。

    【讨论】:

    • 请修改您的答案以将代码包含为格式化文本,而不是图像。
    猜你喜欢
    • 1970-01-01
    • 2021-01-20
    • 1970-01-01
    • 1970-01-01
    • 2018-06-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多