2017-03-15 28 views
0

私は仕事以外のいくつかの自動化を練習しようとしています。私はwww.phptravels.netを使用しています。私の目標は、検索バーを配置し、データを入力し、検索をクリックすることです。私はdriver.find_element_by_class、css、Xpathを使用して要素を複数回見つけようとしましたが、動作しないようです。私はエラー例外を受け取り続ける:以下は私が持っているものですSelenium python webdriver、検索バーの検索、値と検索の入力

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() 

助けていただきありがとうございます!

+0

例外とは何かどこに投げられるのですか – sevzas

+0

selenium.common.exceptions.NoSuchElementException:メッセージ:{"errorMessage": "xpathを持つ要素が見つかりません '// input [@ id =' citiesInput ']'"、 "request": –

+0

@RosieLeは要素を見つける前に少し待ってください。 –

答えて

0

サイトを見ると、あなたが提供するxpathに一致するものは見つかりません。私はあなたが最初にあなたのwebdriverがその情報にアクセスする前にログインすることができる何かを書かなければならないと信じています。

chrome webdriverを使用することをおすすめします。これにより、エラーが発生したときのページがわかります。ファントムで何が起こっているのかを知るのは難しいです。スクリプトが機能している場合は、簡単に元に戻すことができます。右コンソールでは、あなたの

  • のページをクリックする

    XPathは(クロームに)することで、ページ上に存在するかどうかを確認することができます

    1. 、「要素」ヘッダ
    2. はCtrl + Fをクリックしてください私は両方のXPathのために、彼らはページ上のwww.phptravels.com存在しなかったことがなかった場合(またはMacではCmd + F)
    3. は、XPathに

    を入力します。

  • +0

    謝罪します。ページはwww.phptravels.netではありません.com –

    +0

    www.phptravels.netでもう一度ご覧ください。 –