2017-04-12 8 views
0

einloggen Ich versuche, die Anmeldung in diesem website zu automatisieren.kann nicht mit Selen

Das Login-Menü befindet sich oben rechts auf der Website.

Ich habe versucht, das Login-Formular durch CSS-Selektor, Xpath, Name und die Aktion dieser topic zu finden.

bearbeiten 1: Ich habe auch versucht, die Maus über den Login mit Actionchains zu bewegen, dann nach Elementen suchen. Kein Element wurde gefunden, auch kein Schlüssel wurde gesendet.

Ergebnis:

der Fund von CSS, Xpath, Name zeigt: Element nicht sichtbar; das aktionsereignis: ich fahre mit der maus über den loginbereich, sende keys, der loginbereich erscheint, aber es wurde kein schlüssel gesendet, kein fehler angezeigt.

Mein Code für die Aktion Veranstaltung:

wd.get("http://www.vatgia.com") 

action = ActionChains(wd); 

action.move_to_element(wd.find_element_by_css_selector("#header_bar > div > div.fr > a:nth-child(8)")) 
action.send_keys("loginsampling") 

action.perform(); 

p/s: thankyou Brian für das Bearbeiten!

Schluss Update:

Mahipal hat mich mit der Lösung zur Verfügung gestellt. Ich hätte den xpath in Bezug auf den Container für das Login-Formular und Passwort verwenden sollen. Ich habe vorher nur mit der rechten Maustaste geklickt und das xpath-Element kopiert und das hat nicht funktioniert. Danke, Mahipal!

+0

Gern geschehen, Kien :) – Brian

Antwort

0

Sie können ihre Felder zur Identifizierung Verwendung des Behälters von Login-Menü machen, wie unten dargestellt:

driver.findElement(By.xpath("//div[@id='header_bar']//a[@rel='#header_login']")).click(); 

WebDriverWait wait = new WebDriverWait(driver, 10); 

wait.until(ExpectedConditions.visibilityOf(
       driver.findElement(By.xpath("//div[@id='simple_tip']//div/input[@name='loginname']")))); 

driver.findElement(By.xpath("//div[@id='simple_tip']//div/input[@name='loginname']")).sendKeys("login_name"); 

Versuchen obigen Code und lassen Sie mich wissen, ob es für Sie arbeitet.

+0

Oh mein budha, es funktioniert: D danke so sehr, ich werde tiefer darüber nachdenken müssen. Danke, Mahipal !!! –

0

Dies liegt daran, dass Sie das Login-Dropdown nicht öffnen, bevor Sie versuchen, die Login-Schaltfläche zu finden. Sie müssen das Dropdown-Element finden, darauf klicken, dann die Login-Felder und die Schaltfläche finden und Ihre Aktionen ausführen.

+0

ich tat, fand ich das Element der Dropdown. Bei der Suche nach Elementen habe ich darauf geklickt und versucht, das Login-Formular zu finden. In der Aktion schwebte ich mit der Maus darüber und versuchte dann, Schlüssel zu senden. –