Открыть гиперссылку в том же окне, на другой вкладке - PullRequest
1 голос
/ 02 июля 2019

Я использовал приведенные ниже параметры кода, чтобы открыть гиперссылку в том же окне и на другой вкладке, но каждый раз ссылка будет открываться в другом окне.

1)

String selectLinkOpeninNewTab = Keys.chord(Keys.CONTROL,Keys.RETURN);   
driver.findElement(By.linkText(linkText)).sendKeys(selectLinkOpeninNewTab);  

2)

Actions act = new Actions(driver);  
act.moveToElement(element).doubleClick(element))).build().perform();  

3)

Actions act = new Actions(driver);
act.contextClick(driver.findElement(By.xpath(element)))
    .sendKeys(Keys.ARROW_DOWN)
    .sendKeys(Keys.ARROW_DOWN)
    .sendKeys(Keys.RETURN)
    .build()
    .perform(); 

Ожидается, что ссылка должна быть открыта в том же окнедругая вкладка, но каждый раз, когда она открывается в новом окне.

Пожалуйста, помогите.

1 Ответ

0 голосов
/ 02 июля 2019

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

Я бы предложил альтернативный подход к остроумию:

  1. Извлечение href атрибут из ссылки
  2. Открыть новую вкладку с помощью Window.open () с помощью driver.executeScript() function
  3. Переключитесь на новую вкладку, используя driver.switchTo (). Window () function

Пример кода:

WebElement link = driver.findElement(By.linkText(linkText));
String href = link.getAttribute("href");
driver.executeScript("window.open('" + href + "');");
driver.switchTo().window(driver.getWindowHandles().stream().reduce((f, s) -> s).orElse(null));
System.out.println(driver.getTitle()); // at this point you should see the new page title
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...