【问题标题】:javascript drop down menu with selenium 2带有 selenium 2 的 javascript 下拉菜单
【发布时间】: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


【解决方案1】:

在这种情况下,它失败了,因为乘客下拉菜单实际上不是一个下拉菜单,它是一些聪明的 html 和 javascript,因此它不会像预期的那样响应通常的事件。

试试这个: 点击ID处的列表:

ita_form_pax_Passenger_0

然后单击 XPath 处的菜单项(将“NUMBER_OF_PASSENGERS”替换为乘客人数):

//td[contains(@id,'dijit_MenuItem')][text()='NUMBER_OF_PASSENGERS']

【讨论】:

  • 有点晚才回复您(刚刚合并了一个旧帐户)。但我相信这在当时有所帮助,我想感谢你。
  • 没问题,很高兴我能帮上忙。
猜你喜欢
  • 2019-04-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-05-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多