首页 > 解决方案 > Selenium 找不到 iframe

问题描述

Selenium 无法通过ID和定位 iframe Name

这是用于 Shopify 上的自动结帐测试。具体问题在于支付领域。我找到了 的 ID 和名称iframe,即card-fields-number-b1kh6njydiv00000.

iframe 图片:

iframe 图片

文本字段图像:

文本字段图像

代码试验:

driver.switchTo().frame("card-fields-number-b1kh6njydiv00000");
System.out.println("Found iframe");

错误是:

org.openqa.selenium.NoSuchFrameException: No frame element found by name or id card-fields-number-b1kh6njydiv00000

标签: javaseleniumiframecss-selectorswebdriverwait

解决方案


我相信可以为此使用 XPath。您需要使用 XPath 找到 IFrame IWebElement,然后将 IWebElement 传递到 SwitchTo().Frame()

var ele = driver.FindElement(By.XPath("//iframe[contains(id, 'card-fields-number')]"));

driver.switchTo().frame(ele);

推荐阅读