2013-08-23 10 views

Odpowiedz

10

ok po długim i bolesnym szukaniu próbującym znaleźć odpowiedź na to pytanie w końcu natknąłem się na odpowiedź próbującą odpowiedzieć na inne pytanie.

Większość dokumentacji, którą znalazłem, wyjaśnia, że ​​musimy użyć działania w postaci WebElement, a następnie rzucić to na JavaScript i przekazać mu element skryptu w postaci tablicy z operacją kliknięcia.

Te same rodzaje są tutaj, ale z kilkoma modyfikacjami.

describe('', function() { 
    var ptor = protractor.getInstance(); 
    var driver = ptor.driver; 

    it('', function() { 
     var hiddenElement = driver.findElement(protractor.By.yourchosenlocator('')); 
     driver.executeScript("arguments[0].click()", hiddenElement).then(function() { 
      expect(whatever).toMatch(whatever); 
     }); 
    }, 30000); 
}); 

jak widać nie ma potrzeby korzystania z interfejsu WWW i nie jest wymagana obsada.

Oto źródła, które pomogły mi w poszukiwaniu odpowiedzi

How do you click on an element which is hidden using Selenium Webdriver?

SELENIUM WEBDRIVER – HOW TO CLICK ON A HIDDEN LINK OR MENU

Selenium WebDriver - hidden select and anchor [duplicate]

+0

próbowałem wiele odmian, ale nie może uzyskać to do pracy. Robię 'driver.executeScript (" arguments [0] .click() ", element (by.css ('.logout')))), a wynikiem tego jest' UnknownError: {"errorMessage": "'undefined' nie jest funkcją (ocenianie 'argumentów [0] .click()') "' – BradGreens

+0

jakiej wersji kątomierza używasz? nowsza wersja może wymagać użycia skryptu ptor.executeScript lub protractor.executeScript. czy mógłbyś opublikować swój kod, więc mogę go zobaczyć i być może będę w stanie ci pomóc? –

+0

Udało mi się znaleźć go na 'browser.executeScript' z dokumentacji. https://github.com/angular/protractor/blob/master/docs/faq.md#how-can-i-interact-directly-with-the-javascript-running-in-my-app. Trochę zagubiłem się, gdy używam 'ptor',' driver' i 'browser' ... jest mnóstwo przykładów, które wydają się mieszać je trochę. – BradGreens

Powiązane problemy