【发布时间】:2020-07-12 17:17:14
【问题描述】:
我正在学习网络自动化,作为一个测试用例,我尝试在 expedia 上搜索航班并将日期值传递到给定的出发/返回文本框中。对于第一个文本框,一切都很好,send_keys 可以按预期工作,但是由于第二个(或返回日期文本框)的某些原因,send_keys 似乎同时传递了前一个日期和我希望它传递的日期第二个时间。如果你运行我的代码,很清楚会发生什么,但这里也有一张图片:
我不知道这是否仅仅是因为 expedia 设置文本框的方式,还是因为我没有经验而在编程中搞砸了,但我们将不胜感激。
到目前为止,这是我的代码:
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
import time
driver = webdriver.Chrome(executable_path='E:\Webdrivers\chromedriver.exe')
driver.implicitly_wait(5)
driver.get('https://www.expedia.com/')
driver.maximize_window()
driver.find_element_by_id('tab-flight-tab-hp').click() #clicks flight button
#driver.find_element(By.ID, 'tab-flight-tab-hp').click() can also be used to click flight button
time.sleep(2)
driver.find_element_by_id('flight-origin-hp-flight').send_keys('NYC') #Origin
driver.find_element_by_id('flight-destination-hp-flight').send_keys('Toronto') #Destination
driver.find_element_by_id('flight-departing-hp-flight').clear()
driver.find_element_by_id('flight-departing-hp-flight').send_keys('12/28/2020') #Departing
time.sleep(1)
driver.find_element_by_id('flight-returning-hp-flight').clear()
driver.find_element_by_id('flight-returning-hp-flight').send_keys("01/15/2021")
time.sleep(5)
driver.find_element_by_xpath('//*[@id="gcw-flights-form-hp-flight"]/div[8]/label/button').click()
【问题讨论】:
标签: python selenium selenium-chromedriver webautomation