【发布时间】:2015-11-14 04:26:34
【问题描述】:
我已经尝试点击确认注销按钮很久了,但我无法让它工作!我有一个测试应该让您退出并在退出后立即返回主页,但我似乎无法单击该按钮。当我尝试使用
切换到弹出框时driver.switchTo().frame(0);
【问题讨论】:
标签: java xpath selenium-webdriver automation css-selectors
我已经尝试点击确认注销按钮很久了,但我无法让它工作!我有一个测试应该让您退出并在退出后立即返回主页,但我似乎无法单击该按钮。当我尝试使用
切换到弹出框时driver.switchTo().frame(0);
【问题讨论】:
标签: java xpath selenium-webdriver automation css-selectors
我遇到了同样的问题,并通过使用 XPATH 搜索框架解决了它。也许这个 sn-p 可以帮助你:
wd = your WebDriver;
searchFrame= wd.findElement(By.xpath("whatever"));
wd.switchTo().frame(searchFrame);
wait.until(ExpectedConditions.visibilityOfElementLocated(By.className("button2")));
wd.findElement(By.className("button2")).click();
【讨论】:
By用于定义搜索元素的类型。
您尚未提供 iframe 的 HTML 代码,但是,鉴于我们所拥有的,我们可以找到包含提供的注销按钮的 iframe:
WebElement frame = driver.findElement("//iframe[.//a[contains(@id, 'confirmLogoutDialog')]]");
driver.switchTo.frame(frame);
然后,您可以通过链接文本找到您的按钮并单击它:
driver.findElement(By.linkText("Sign Out")).click();
您可能还需要等待它变为可点击:
WebDriverWait wait = WebDriverWait(driver, 10);
WebElement logout = wait.until(ExpectedConditions.elementToBeClickable(By.linkText("Sign Out")));
logout.click();
【讨论】: