2012-04-11 2 views
2

Ich habe <a href="/address_shops/">Адреса магазинов</a> auf der Seite und möchte Text speichern, dann klicken Sie auf diesen Link und vergewissern Sie sich, dass die Seite, wo ich werde diesen Text in den Kopfzeilen enthält. Also habe ich versucht, Element durch XPath zu finden, und selen.getText bekomme das richtige Ergebnis, aber selen.click geht zu einem anderen Link. Wo habe ich einen Fehler gemacht? Danke im Voraus!mit xpath in selen.get.Text und selen.click

String m_1 = selenium.getText("xpath=html/body/div[3]/div[2]/div[1]/h4[1]"); 
    selenium.click("xpath=html/body/div[3]/div[2]/div[1]/h4[1]"); 
    selenium.waitForPageToLoad("30000"); 
    assertTrue(selenium.getText("css=h3").contains(m_1)); 

Seite: http: //www.svyaznoy.ru/map/


Diskussionsforum mit xpath=//descendant::a[@href='/address_shops/'][2] oder css=div.deff_one_column a[href='/address_shops/']xpath=//a[@href='/address_shops/'] richtigen Ergebnisse

mit bekommen - Element ist nicht sichtbar xpath=//a[@href='/address_shops/'][2] - Element nicht gefunden

Antwort

0

Sorry, bemerkte Seitenverknüpfung nicht. Css für die zweite Verbindung kann so etwas sein css=div.deff_one_column a[href='/address_shops/']

+0

bekommen Dank, es funktioniert! – newbie

1

Es fehlt ein Schrägstrich am Anfang des Ausdrucks. Ich bin irgendwie überrascht, dass das überhaupt durchkam - der erste Schrägstrich bedeutet "Beginne am Wurzelknoten".

Auch ist es besser, das <a> Element anstelle des <h> zu wählen. Manchmal funktioniert es, manchmal ist es ein Fehlschlag, manchmal macht der Klick gar nichts. Versuche, so konkret zu sein wie möglich.

Versuchen Sie diese.

String m1 = selenium.getText("xpath=/html/body/div[3]/div[2]/div/h4/a"); 
selenium.click("xpath=/html/body/div[3]/div[2]/div/h4/a"); 
selenium.waitForPageToLoad("30000"); 
// your variable is named m1, but m_1 was used here 
assertTrue(selenium.getText("css=h3").contains(m1)); 

Übrigens gibt es sogar noch bessere XPath-Ausdrücke, die Sie verwenden könnten. Siehe the documentation, ist es wirklich ist hilfreich. Nur ein Beispiel, das würde auch funktionieren und ist viel einfacher zu schreiben und zu lesen:

String m1 = selenium.getText("xpath=//a[@href='/address_shops/']"); 
selenium.click("xpath=//a[@href='/address_shops/']"); 
+1

oder selen.click ("link =" + m1); –

+0

@Slanec "deine Variable heißt m1, aber m_1 wurde hier verwendet" - sorry, bearbeite diesen Beitrag mehrmals. eigentlich habe ich m_1 – newbie

+0

@ AlehDouhi kann ich nicht verwenden, weil es zwei Links auf dieser Seite gibt, aber ich muss überprüfen, die zweite – newbie