Отваряне на нов раздел в същата сесия на прозореца на браузъра чрез Selenium WebDriver?

Как да отворя нов раздел в същата сесия на прозореца на браузъра чрез командата Selenium WebDriver?


person Bharadwaj Pendyala    schedule 27.01.2015    source източник
comment
Има ли някаква конкретна причина да искате да отворите нов раздел в същия прозорец на браузъра? Защото се страхувам, че няма да можете да извършвате никакви допълнителни действия върху него, тъй като селенът не може да превключва между раздели. Може да превключва само между прозорци..   -  person Subh    schedule 27.01.2015
comment
вижте тук: stackoverflow.com/questions/17547473/   -  person AcMuD    schedule 19.04.2018


Отговори (5)


Отварянето на нов раздел в същия прозорец на браузъра е възможно, вижте решенията за Firefox:

Проблемът е - след като отворите раздел, няма вграден лесен начин за превключване между раздели. Selenium просто не предоставя API за това.

Вместо раздел, отворете нов прозорец на браузъра.

person alecxe    schedule 27.01.2015

Да, можете да направите това, вижте по-долу моя примерен код за това:

   //OPEN SPECIFIC URL IN BROWSER
    driver.get("http://www.toolsqa.com/automation-practice-form/");

   //MAXIMIZE BROWSER WINDWO
    driver.manage().window().maximize();


   //OPEN LINKED URL IN NEW TAB IN SAME BROWSER 
   String link1 = Keys.chord(Keys.CONTROL,Keys.ENTER); 
   driver.findElement(By.linkText("Partial Link Test")).sendKeys(link1);

Кодът по-горе ще отвори връзка 1 в нов раздел. можете да стартирате горния код, за да видите ефекта. Горната публична връзка включва формуляр за тестване.

Но както @alecxe каза, че няма начин за превключване между раздели. Така че по-добре отворете нов прозорец на браузъра.

person Helping Hands    schedule 27.01.2015

Страхувам се, но има начин да превключвате между разделите. Имаме успешни отговори за този проблем.

Моля, намерете връзката по-долу.

превключване на раздели с помощта на Selenium WebDriver с Java

person A user    schedule 29.07.2015

Selenium може да превключва между раздели.

Python:

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
driver = webdriver.Chrome()
element = driver.find_element_by_css_selector("html") # Gets the full page element, any element works for this
key_code = Keys.CONTROL # Use Keys.COMMAND for Mac
driver.execute_script("window.open();") # Executes Javascript to open a new tab
driver.switch_to.window(1) # Switches to the new tab (at index 1, first tab is index 0)
driver.switch_to.window(0) # Switches to the first tab
person Brydenr    schedule 12.06.2017

С помощта на java скрипт можем лесно да отворим нов раздел в същия прозорец.

public String openNewTab(){
       String parentHandle = driverObj.getWindowHandle();
        ((JavascriptExecutor)driverObj).executeScript("window.open()");
        String currentHandle ="";
                // below driver is your webdriver object
        Set<String> win  = driver.getWindowHandles();   

        Iterator<String> it =  win.iterator();
        if(win.size() > 1){
            while(it.hasNext()){
                String handle = it.next();
                if (!handle.equalsIgnoreCase(parentHandle)){
                    driver.switchTo().window(handle);
                    currentHandle = handle;
                }
            }
        }
        else{
            System.out.println("Unable to switch");
        }
        return currentHandle;
    }
person Ankit Gupta    schedule 09.08.2017