Невозможно переключиться на фрейм во время тестирования в IE, но он работает нормально с Chrome - PullRequest
0 голосов
/ 03 октября 2018

Я могу переключиться на фрейм и могу найти элемент в случае хрома, но не могу найти в случае IE.

driver.switchTo().frame(0);  
driver.findElement(By.xpath("//a[contains(.,'Logout')]")).submit();

, используя эти две строки кода, которые могут получить доступ, но я думаю, что это не переключается в кадре в случае IE. Я попытался переключить кадр по WebElement, index, name.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN">
<html>
<frameset id="frRoot" framespacing="0" border="0" frameborder="0" rows="125,26,*,0,0">
<frame id="frTopLeftPane" scrolling="no" name="brandingTop" src="/BIW/Lobby/Frameset/BrandingTop.aspx?dv=1&amp;nfGuid=">

<a style="vertical-align:top;" href="/ic/bin/logout.asp? 
sessionid=&amp;id=338206" target="_top">

<img src="/skins/BIW/NewSkin/images/logout.gif" alt=""> Logout
                    </a>
 </frame>
</frameset>
</html>

1 Ответ

0 голосов
/ 03 октября 2018

Вы должны действительно обновить свой код и ввести webDriverWait для большей стабильности.Попробуйте код, приведенный ниже:

WebDriverWait wait = new WebDriverWait(driver, 10);
wait.until(ExpectedConditions.frameToBeAvailableAndSwitchToIt(By.id("frRoot")));
wait.until(ExpectedConditions.frameToBeAvailableAndSwitchToIt(By.id("frTopLeftPane")));
wait.until(ExpectedConditions.elementToBeClickable(By.xpath("//a[contains(.,'Logout')]"))).submit();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...