2017-04-18 8 views
0

私は、UPS Webサイトからzipcode間の配送時間を引き出すためにpython seleniumスクリプトを使用しています。 "http://ltl.upsfreight.com/shipping/transittimes/transittimes.aspx"Seleniumを使用してWebページのオートメーションで値を取得する

私のshiptimeをキャプチャしようとするまで私のコードは動作します。どのように値を取得するのですか?以下は、キャプチャしたい値 "1"を保持するクロムからのhtmlです。

<span id="app_ctl00_ctl01_lblServiceDays" style="font-weight:bold;">1</span> 

とコード自体:

from selenium import webdriver 
driver = webdriver.Chrome() 
driver.get('http://ltl.upsfreight.com/shipping/transittimes/transittimes.aspx') 
driver.find_element_by_id("app_ctl00_ctl00_OriginZipCodeSelector_OriginZipCodeSelector_txtZip").clear() 
driver.find_element_by_id("app_ctl00_ctl00_OriginZipCodeSelector_OriginZipCodeSelector_txtZip").send_keys("07042") 
driver.find_element_by_id("app_ctl00_ctl00_DestinationZipCodeSelector_DestinationZipCodeSelector_txtZip").clear() 
driver.find_element_by_id("app_ctl00_ctl00_DestinationZipCodeSelector_DestinationZipCodeSelector_txtZip").send_keys("07059") 
driver.find_element_by_id("app_ctl00_ctl00_btnSubmit").click() 
shiptime = driver.find_element_by_id("app_ctl00_ctl01_lblServiceDays") 
print (shiptime) 

答えて

1

はあなたがキャッチしようとしているフィールドの種類に依存shiptime = driver.find_element_by_id("app_ctl00_ctl01_lblServiceDays")

の終わりに.get_attribute('value')または.textを追加してみてください。

+0

の.textが働いていた( "app_ctl00_ctl01_lblServiceDays") プリント(shiptime)を shiptime = driver.find_element_by_idを返しませんでした。ありがとう。 – polonius11

0

あなたのコードは、私にはよさそうです。 WebページのHTML DOMを読み込むために、ImplicitlyWait(3/5秒)のようなコードにいくつかの遅延を追加します。あなたのコードは正常に動作します。

ImplicitlyWaitのための同等のJavaコードは次のとおりです。

driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);

はこれがあなたを助けている場合、私に教えてください。

+0

私は、印刷の前にこれを追加しました - しかし、それは – polonius11

関連する問題