java - Selenium 找不到 iframe
问题描述
Selenium 无法通过ID
和定位 iframe Name
。
这是用于 Shopify 上的自动结帐测试。具体问题在于支付领域。我找到了 的 ID 和名称iframe
,即card-fields-number-b1kh6njydiv00000
.
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
解决方案
我相信可以为此使用 XPath。您需要使用 XPath 找到 IFrame IWebElement,然后将 IWebElement 传递到 SwitchTo().Frame()
var ele = driver.FindElement(By.XPath("//iframe[contains(id, 'card-fields-number')]"));
driver.switchTo().frame(ele);
推荐阅读
- ios - UiCollectionView - 为什么我的文本标签值没有更新?
- mysql - 仅使用 Workbench 拒绝权限
- asp.net-core - Docker 的 IdentityServer4 密钥配置
- scheme - R6RS:应用于空列表的语法表达式形式是否返回包装的语法对象?
- forms - Spring MVC 使用 Thymeleaf 实现“转到页面”表单
- mysql - wordpress媒体上传内存大小问题
- resharper - Rehsarper 2018.2.3 Disbale 在摘要和单行注释之间插入新行
- c# - 无法访问控制器外部的 userManager
- css - 固定容器位于身体的滚动顶部
- python - [-1] 和 [0] 在这里有什么用?