Javascript下拉菜单与selenium 2
javascript drop down menu with selenium 2
我已经尝试了大约一个星期,找出一个下拉菜单使用硒2。这是我正在使用ITA矩阵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']
相关文章:
- JavaScript下拉菜单-点击按钮并根据所选值重定向到url
- angular的下拉菜单
- 创建带有和不带有JavaScript的Bootstrap下拉菜单
- 创建下拉菜单
- 下拉菜单在菜单按钮的边缘闪闪发光
- I'我设计了一个下拉菜单,onclick会出现,而on blur会消失
- 硒IDE下拉菜单
- 我的下拉菜单中的链接不起作用
- Bootstrap Dropdown selection是在*all*下拉菜单上设置选择
- 如何将JSON转换为HTML下拉菜单
- 悬停下拉菜单即使在鼠标移出后也保持活动状态
- 基于下拉菜单创建开关
- 动态填充两个下拉菜单
- 如何将CSS(特别是填充/边距)应用于select下拉菜单的选项或optgroup
- 使用Selenium WebDriver单击下拉菜单不会激活Javascript来添加或删除页面中的项目
- 如何使用selenium选择没有id的下拉菜单
- 下拉菜单并切换到Selenium中的新窗口 Web驱动程序在Firefox中不起作用
- Selenium - Python - Javascript 下拉菜单选项值
- Python和Selenium:What'这是访问Javascript构建的下拉菜单中隐藏的链接的好方法
- Javascript下拉菜单与selenium 2