当前位置: 首页 > 面试题库 >

selenium2的javascript下拉菜单

幸越泽
2023-03-14
问题内容

我已经尝试了大约一周的时间,以找出使用selenium2的下拉菜单。这是我正在使用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)

问题答案:

在这种情况下,它会失败,因为乘客下拉菜单实际上不是下拉菜单,它是一些巧妙的html和javascript,因此不会响应预期的正常事件。

尝试以下操作:单击ID上的列表:

ita_form_pax_Passenger_0

然后点击XPath上的菜单项(用乘客人数代替’NUMBER_OF_PASSENGERS’):

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


 类似资料:
  • 我有一个插入符号指向我的导航项目,一旦点击导航项目,它会显示下拉框,旋转插入符号180并向上指向。唯一的问题是当你点击另一个导航项目时,它隐藏了下拉列表,但插入符号仍然指向上方。这是我用的JavaScript 单击另一导航项后,是否有方法将插入符号旋转回指向下方?

  • 本文向大家介绍JavaScript简单下拉菜单特效,包括了JavaScript简单下拉菜单特效的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了js下拉菜单特效,供大家参考,具体内容如下 实例1:联动的省市下拉菜单 onchange 事件会在域的内容改变时发生。 实例2:三级联动的省市县下拉菜单 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。

  • 本文向大家介绍javascript实现控制的多级下拉菜单,包括了javascript实现控制的多级下拉菜单的使用技巧和注意事项,需要的朋友参考一下 最近身体不适,所以没能如期的更新,抱歉。这里直接把代码贴上,如果有不明白的地方,留言就行。 效果图如下:  以上所述就是本文的全部内容了,希望大家能够喜欢。

  • 问题内容: 我正在尝试制作一个简单的CSS下拉菜单,当您将鼠标悬停在链接上时,将显示子菜单。当您将鼠标悬停在li上时,我已经设法实现了这一点,但无法弄清楚如何使用链接来实现。 我之所以尝试使用链接而不是li来执行此操作,是因为我的菜单宽度为100%,并且li所占的面积比链接大,因此,如果将鼠标悬停在该区域上,则不显示该子菜单不想。 我的CSS如下: 问题答案: 如果可能的话,我会避免使用JS。这不

  • 主要内容:用法,实例,实例,选项,方法,实例Bootstrap 下拉菜单 这一章讲解了下拉菜单,但是没有涉及到交互部分,本章将具体讲解下拉菜单的交互。使用下拉菜单(Dropdown)插件,您可以向任何组件(比如导航栏、标签页、胶囊式导航菜单、按钮等)添加下拉菜单。 如果您想要单独引用该插件的功能,那么您需要引用 dropdown.js。或者,正如 Bootstrap 插件概览 一章中所提到,您可以引用 bootstrap.js 或压缩版的

  • 主要内容:实例,选项,实例,实例,更多实例本章将重点介绍 Bootstrap 下拉菜单。下拉菜单是可切换的,是以列表格式显示链接的上下文菜单。这可以通过与 下拉菜单(Dropdown) JavaScript 插件 的互动来实现。 如需使用下拉菜单,只需要在 class .dropdown 内加上下拉菜单即可。下面的实例演示了基本的下拉菜单: 实例 <div class="dropdown"> <button type="button" c