Ссылка Нажмите с помощью селена веб-драйвер дает ошибку тайм-аута, в противном случае ссылка работает в браузере нормально - PullRequest
0 голосов
/ 25 марта 2019

Я пытаюсь написать кусок кода, используя Testng в селене, проблема в том, что когда я пытаюсь щелкнуть ссылку, код перестает отвечать на запросы и выдает сообщение об ошибке - истекло время ожидания получения сообщения от средства визуализации

Пробовал driver.get ("https://infostore.saiglobal.com/") вместо driver.findElement (By.linkText (" Infostore ")). Click (); по-прежнему не отвечает - не перенаправляется на веб-страницу - https://infostore.saiglobal.com/

@Test
public void testSai() throws Exception {

    driver.get("https://www.saiglobal.com/"); //open homepage
    driver.findElement(By.id("CybotCookiebotDialogBodyButtonAccept")).click(); //accept cookie
    driver.findElement(By.cssSelector("#sai-header > div > div.main-nav > div.store-box > div")).click(); //click on Login to open list
    sleep(2);
    driver.findElement(By.linkText("Infostore")).click(); //click on infostore to be redirected to https://infostore.saiglobal.com/
    System.out.println(driver.getCurrentUrl());

Ответы [ 2 ]

1 голос
/ 25 марта 2019

Да. Я проверил эту проблему, и для ее устранения есть обходной путь. Попробуйте следующий код.

  1. Возьмите значение атрибута href из элемента link.
  2. Удалить все куки.
  3. driver.navigate () к (URL);.

    public static void main (String [] args) {

        System.setProperty("webdriver.chrome.driver", System.getProperty("user.dir") + File.separator + "\\Executables\\Chromedriver.exe");
        WebDriver driver = new ChromeDriver();
        WebDriverWait wait = new WebDriverWait(driver, 5);
        Actions actions = new Actions(driver);
        driver.get("https://www.saiglobal.com/");       
        driver.findElement(By.id("CybotCookiebotDialogBodyButtonAccept")).click();
        WebElement element=wait.until(ExpectedConditions.elementToBeClickable(By.xpath("//div[@class='desktop-login']")));
        actions.moveToElement(element).build().perform();
        WebElement element1=wait.until(ExpectedConditions.elementToBeClickable(By.xpath("//div[@class='desktop-login']/ul/li/a[contains(text(),'Infostore')]")));
        String str1=element1.getAttribute("href");
        driver.manage().deleteAllCookies();
        driver.navigate().to(str1);
        System.out.println(driver.getCurrentUrl());
    

    }

0 голосов
/ 25 марта 2019

Это похоже на ошибку с Selenium, с которой разработчики имеют дело более года.Они действительно никогда не дают конкретного ответа относительно того, что его вызывает или как это исправить.

Первый порт вызова - убедиться, что ваш браузер и Selenium совместимы.Попробуйте открыть другой URL-адрес, который, как вы знаете, работает, и если ошибка не исчезнет, ​​то, скорее всего, ошибка связана с совместимостью вашего селена и веб-браузера.Если это работает, значит, что-то не так с вашим сайтом.

Для справки, я открыл ваш сайт с помощью Python Selenium, и у меня не было проблем с загрузкой или взаимодействием с элементами.Таким образом, ошибка является локальной для используемого вами программного обеспечения.

Эта проблема также может быть вызвана сном (не знаю почему), поэтому попробуйте удалить все сны и посмотреть, остановит ли это проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...