2017-03-15 1 views
0

Ich versuche, etwas Automatisierung außerhalb der Arbeit zu üben. Ich benutze www.phptravels.net. Mein Ziel ist es, die Suchleiste zu finden, Daten einzugeben und dann auf Suchen zu klicken. Ich habe versucht, die Elemente mehrfach zu finden, indem ich driver.find_element_by_class, css, Xpath benutze, aber nicht zu funktionieren scheint. Ich bekomme immer Fehler Ausnahme: Unten ist was ich habeSelen python webdriver, Suchleiste suchen, Wert eingeben und suchen

from selenium import webdriver 
from selenium.webdriver.common.keys import Keys 

driver = webdriver.PhantomJS() 
driver.get("www.phptravels.com") 
searchBar = driver.find_element_by_xpath("//input[@id='citiesInput']") 
searchBar.send_keys('Virginia') 
searchButton = driver.find_element_by_xpath("//*[@id='EXPEDIA']/div/form/div[6]/div/button").click() 

Jede Hilfe wird geschätzt!

+0

Was ist die Ausnahme und wo wird sie ausgelöst? – sevzas

+0

selen.common.exceptions.NoSuchElementException: Nachricht: {"errorMessage": "Element mit xpath kann nicht gefunden werden // Eingabe [@ id = 'citiesInput'] '", "request": –

+0

@RosieLe warten, bis das Element gefunden wurde. –

Antwort

0

Wenn ich auf der Website nachschaue, kann ich nichts finden, das mit den von Ihnen bereitgestellten XPaths übereinstimmt. Ich glaube, dass Sie zuerst etwas schreiben müssen, das Ihrem Webtreiber erlaubt, sich anzumelden, bevor Sie auf diese Informationen zugreifen.

Ich empfehle die Verwendung der chrome webdriver, so dass Sie genau sehen können, welche Seite Sie sind, wenn der Fehler ausgelöst wird. Es ist schwer zu sagen, was mit Phantom vor sich geht. Wenn Sie mit Ihrem Skript arbeiten, können Sie ganz einfach zurückschalten.

Sie können sehen, ob die XPath auf der Seite vorhanden ist, indem (in Chrom)

  1. rechten Seite Ihre auf
  2. in der Konsole klicken Sie in den "Elements" Header
  3. Strg + F (oder cmd + f auf mac)
  4. Geben sie den XPath

Als ich das tat, dass für beide XPaths, sie auf der Seite nicht existiert www.phptravels.com.

+0

Entschuldigung. Die Seite ist www.phptravels.net nicht .com –

+0

Könnten Sie bitte einen Blick auf es wieder auf www.phptravels.net –