【发布时间】:2019-05-23 13:08:54
【问题描述】:
我正在尝试将我的 iframe 切换到每次 id 都会更改的 iframe。源代码在这里:
<iframe class="card-fields-iframe ui-droppable" frameborder="0" id="card-fields-verification_value-f9yavo67out00000" name="card-fields-verification_value-f9yavo67out00000" scrolling="no" src="https://checkout.shopifycs.com/verification_value?identifier=b5fa1aecc18e4f685d7408c699c2ac5b&location=https%3A%2F%2Fyeezysupply.com%2F17655971%2Fcheckouts%2Fb5fa1aecc18e4f685d7408c699c2ac5b%3F_ga%3D2.184035750.1808724638.1545611726-2044927600.1545611726&dir=ltr" title="Field container for: CVV" style="height: 42px;" xpath="1"></iframe>
这是我尝试过的。这对其他 iframe 有效,但对这个无效。
WebElement cVV = driver.findElement(By.xpath("//iframe[contains(@src,'verification')]"));
driver.switchTo().frame(cVV);
我也尝试了starts-with,但仍然没有运气。如果有其他我不知道的方法,请告诉我。
【问题讨论】:
-
还想补充一点,我用不同的 src 尝试过,比如“checkout.shopifycs.com/verification_value”,Id 像“card-fields-verification_value”。
-
您对
start-with进行了哪些尝试?因为//iframe[starts-with(@id,'card-fields-verification_value')]应该可以工作。 -
@NafRahman 请不要根据您收到的经过充分研究的答案编辑 HTML。一旦您收到规范答案,更改问题可能会使所有答案无效,并且可能对未来的读者没有用处。如果您的要求发生了变化,请随时提出一个新问题。 StackOverflow 贡献者将很乐意为您提供帮助。目前我已将问题恢复到初始状态。
标签: java selenium xpath iframe css-selectors