【发布时间】:2019-04-08 18:57:49
【问题描述】:
我正在使用以下语句切换到 iframe,但在最后的等待中,我找不到 web 元素。有没有人有什么建议?我在谷歌上搜索了大约一天,尝试了不同的技术。到目前为止都没有工作
WebDriver driver = DriverFactory.getWebDriver()
WebDriverWait wait = new WebDriverWait(driver, 15)
driver.switchTo().defaultContent()
WebElement iframe = driver.findElement(By.cssSelector(".b-iframe__iframe"))
driver.switchTo().frame(iframe)
wait.until(ExpectedConditions.visibilityOfElementLocated(By.cssSelector(
'fieldset.radio-switch-group')))
图片下方 HTML 的屏幕截图
【问题讨论】:
-
你得到
NoSuchElementException或TimeoutException?发布堆栈跟踪。 -
堆栈跟踪:org.openqa.selenium.TimeoutException:预期条件失败:等待 By.cssSelector 定位的元素的可见性:fieldset.radio-switch-group(尝试 15 秒) 500 MILLISECONDS 间隔)在 org.openqa.selenium.support.ui.WebDriverWait.timeoutException(WebDriverWait.java:82)
-
如果我显式等待并执行 driver.findElement 然后我得到这个异常堆栈跟踪:org.openqa.selenium.NoSuchElementException:没有这样的元素:无法找到元素:{“method”:” id","selector":"PaymentPage"}。就像 switch 语句不起作用
-
你能把代码从你的IDE复制过去吗?
标签: selenium xpath iframe css-selectors webdriverwait