Метод getTitle () возвращает заголовок текущей страницы в Chrome, но возвращает заголовок предыдущей страницы в Firefox, используя Selenium через Java

Для тех, у кого есть такая же проблема с отсутствием Iber.h на Alpine Linux, в изображении докеров, которое вы пытаетесь адаптировать к Alpine, например.

Пакет, который вы ищете: openldap-dev

Итак, запустите

apk add openldap-dev

Доступен с версии 3.3 до Edge

Доступно как для архитектур Armhf, так и для x86_64.

1
задан DebanjanB 31 March 2019 в 22:05
поделиться

2 ответа

Можете ли вы попробовать выполнить приведенный ниже код и узнать, работает ли он.

После того, как вы откроете драйвер Chrome или Firefox, добавьте код ниже и посмотрите -

driver.manage().timeouts().implicitlyWait(10
driver.navigate().to("http://sitename.com");
String actualTitle = driver.getTitle();
driver.manage().window().maximize();
String expectedTitle = "page title to be verified";
if(actualTitle.equalsIgnoreCase(expectedTitle))
System.out.println("Title Matched");
else
System.out.println("Title didn't match");
driver.close();
driver.quit();
0
ответ дан TheSociety 31 March 2019 в 22:05
поделиться

Другой браузер отображает HTML DOM по-другому. Соответствующее обсуждение можно найти в Chrome & amp; Firefox в Windows против Linux (селен) . На этом этапе стоит отметить, что:

  • ChromeDriver / Chrome основан на диалекте OSS .
  • GeckoDriver / Firefox основан на диалекте W3C .

Кажется в вашем сценарии использования :

  • При использовании ChromeDriver / Chrome , [ 1116] Заголовок страницы уже отображается в DOM Tree к тому времени, когда document.readyState равно complete достигается. [+1131]

  • Но при использовании GeckoDriver / Firefox заголовок страницы не не отображается в дереве DOM к тому времени document.readyState равно complete достигается.

Решение

Вам нужно заставить WebDriverWait для заголовка содержать , и вы можете использовать следующее решение:

public void verifyLoginPage()
{
    new WebDriverWait(driver, 20).until(ExpectedConditions.titleContains("Guru99");
    String homepage= "Guru99 Bank Manager HomePage";
    if (driver.getTitle().equalsIgnoreCase(homepage))
        System.out.println("Its the correct Homepage after Login");
    else
        System.out.println("Page after login is not the intended one");
}
0
ответ дан DebanjanB 31 March 2019 в 22:05
поделиться
Другие вопросы по тегам:

Похожие вопросы: