2017-04-18 5 views
0

Ich arbeite an einem Python-Selenskript, um die Versandzeiten zwischen Postleitzahlen von der UPS-Website abzurufen. "http://ltl.upsfreight.com/shipping/transittimes/transittimes.aspx"Verwenden von Selenium zur Erfassung eines Werts in der Webseitenautomatisierung

Mein Code funktioniert, bis ich versuche, die Shiptime zu erfassen. Wie hole ich den Wert ab? Unten ist der HTML-Code von Chrome, der den Wert "1" enthält, den ich erfassen möchte.

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

Und der Code selbst:

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) 

Antwort

1

Sie könnten .get_attribute('value') oder .text am Ende shiptime = driver.find_element_by_id("app_ctl00_ctl01_lblServiceDays")

hängt die Art des Feldes zu fangen versuchen Sie, Sie versuchen.

+0

.text gearbeitet. Vielen Dank. – polonius11

0

Ihr Code mir gut aussieht. Fügen Sie etwas Verzögerung in Ihrem Code wie ImplicitlyWait von 3/5 Sekunden hinzu, wie unten für das Webseiten-HTML-DOM zu laden. Dein Code wird gut funktionieren.

Der äquivalente Java-Code für ImplicitlyWait ist:

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

Lassen Sie mich wissen, ob das Ihnen hilft.

+0

Ich habe es vor dem Druck - aber es kam nicht wieder shiptime = driver.find_element_by_id ("app_ctl00_ctl01_lblServiceDays") print (shiptime) – polonius11

Verwandte Themen