【发布时间】:2011-11-05 18:02:12
【问题描述】:
我已经尝试了大约一周来找出使用 selenium 2 的下拉菜单。这是我正在使用 ITA Matrix 2 (http://matrix.itasoftware.com/) 自动执行航班搜索的项目)。除了从下拉菜单中选择乘客人数外,一切正常。单击它可以正常工作,但尝试向它发送键或箭头命令,以及在弹出时创建的新 ID,不会导致任何操作。我很感激任何帮助! (我对 python 很陌生,我正在做这个项目作为一种自学练习来学习)。
from selenium import webdriver
from time import sleep
import time
driver = webdriver.Firefox()
driver.get("http://matrix.itasoftware.com/")
driver.find_element_by_id("advancedfrom1").send_keys(lport) #starting airport
driver.find_element_by_id("advancedto1").send_keys(rport) #destination airport
driver.find_element_by_id("advanced_rtDeparture").send_keys(ldate) #leaving date
driver.find_element_by_id("advanced_rtReturn").send_keys(rdate) #return date
driver.find_element_by_id("ita_form_location_RouteLanguageTextBox_0").send_keys(lflight) #going flight number
driver.find_element_by_id("ita_form_location_RouteLanguageTextBox_1").send_keys(rflight) #return flight number
#problem code:
driver.find_element_by_id("ita_form_pax_Passenger_0").click()#.send_keys("2")
time.sleep(2) #allow drop down to pop up
from selenium.webdriver.common.keys import Keys
driver.find_element_by_id("dijit_MenuItem_4_text").send_keys(Keys.DOWN) #tried to scroll down
driver.find_element_by_id("ita_form_pax_Passenger_0").send_keys(Keys.DOWN)
#also tried just sending the number directly:
driver.find_element_by_id("dijit_MenuItem_4_text").send_keys(numpax)
driver.find_element_by_id("ita_form_pax_Passenger_0").send_keys(numpax)
【问题讨论】:
-
matrix.itasoftware.com 的 +1
-
你对矩阵有什么好运吗?我也在做同样的事情......
标签: javascript python selenium drop-down-menu webdriver