[英]Using Selenium To Capture A Value In Webpage Automation
我正在使用python硒脚本从UPS网站提取邮政编码之间的运输时间。 “ http://ltl.upsfreight.com/shipping/transittimes/transittimes.aspx ”
我的代码将一直有效,直到尝试捕获发货时间。 我如何获得价值? 以下是chrome中我要捕获的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)
您可以尝试在shiptime = driver.find_element_by_id("app_ctl00_ctl01_lblServiceDays")
结束时添加.get_attribute('value')
或.text
shiptime = driver.find_element_by_id("app_ctl00_ctl01_lblServiceDays")
取决于您要捕获的字段的类型。
您的代码对我来说看起来不错。 在您的代码中添加一些延迟,例如3/5秒的ImplicitlyWait,如下所示,以便加载网页HTML DOM。 您的代码可以正常工作。
ImplicitlyWait的等效Java代码为:
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
让我知道这是否对您有帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.