2016-04-09 12 views
0

Ich habe Winkelmesser verwendet, um eine Google-Suche für mich zu tun, aber ich kann nicht herausfinden, wie man es zu einem der Suchergebnisse zu bekommen. Ich kann nicht herausfinden, welchen Locator ich verwenden soll.
Dies ist der HTML-Code für den Link, den ich aus der Google-Suche auswählen muss.Ich kann keinen Weg finden, diese Verbindung mit Winkelmesser

<a class="l" href="http://blogs.com/myblogs" data-ved="0ahUKEwirnPjLu4LMAhVJyT4KHVA7BUIQjBAIOTAB" onmousedown="return rwt(this,'','','','2','AFQjCNF30dtvyBUGNFpk4EstTTASxP...4w','0ahUKEwirnPjLu4LMAhVJyT4KHVA7BUIQjBAIOTAB','','',event)">About Us</a>

Dies ist der Code, den ich in meiner spec-Datei klicken Sie auf den Link zu finden.

browser.driver.findElement(by.linkText('About Us')).click();

Das ist für mich nicht funktioniert und ich bin nicht sicher, wie sonst in der Lage sein, den Link zu greifen. Es hat nichts wie ein Modell oder eine ID oder einen Namen, um es lokalisieren zu können. Offensichtlich bin ich neu, das versuche ich nebenbei zu lernen. Bitte nicht abmelden, weil ich weiterhin Fragen stellen möchte, um weiter zu lernen. Vielen Dank.

+1

Konnten Sie den vollständigen Code posten, den Sie gerade haben? Fügen Sie nach Möglichkeit den Link zur Zielseite hinzu. Vielen Dank. – alecxe

+0

Die bevorzugte Methode ist 'element (locator)', siehe http://www.protractortest.org/#/api?view=ElementFinder Beide sollten funktionieren: 'element (by.linkText ('Über uns')) .click(); 'oder' element (by.partialLinkText ('About')). click(); ' Es würde helfen, mehr Logging über das, was tatsächlich passiert, zu sehen, anstatt über eine Lösung zu raten. – cnishina

+0

@alecxe, das ist mein Code hier. 'beschreiben ('Protractor auf eine Seite bekommen', function() { \t es ('zu einer Seite navigieren sollte', function() { \t \t browser.driver.get ('http://www.google. com '); \t \t \t erwarten (browser.driver.getTitle()) toEqual (.' Google '); \t}); \t \t es (' eine Suche eingeben und zu einem Ergebnis‘navigieren soll, function() { \t \t browser.driver.findElement (nachname ('q')). sendKeys ('Onshore-Outsourcing'); \t \t element (br owser.driver.by.linkText ('Über uns')). click(); \t}); }); ' – AP1

Antwort

1

Sie sollten zuerst auf den Link Präsenz warten, denke ich.

browser.driver.findElement(by.css('input[name="q"]')).sendKeys('Onshore Outsourcing'); 
    browser.driver.findElement(by.css('input[name="q"]')).sendKeys(protractor.Key.ENTER); 
    browser.driver.wait(function() { 
     return browser.driver.isElementPresent(by.linkText('About Us')); 
    }); 
    browser.driver.findElement(by.linkText('About Us')).click(); 
+0

Das hat bei mir funktioniert, danke. – AP1

Verwandte Themen