selenium webdriver通过单击主菜单下的不可见链接打开屏幕

时间:2014-01-08 18:04:58

标签: python selenium-webdriver mouseover

我正在使用pylen的selenium web驱动程序。在我的测试用例中,我有一个打开子菜单的菜单(鼠标悬停,所以我使用action_chains点击),点击它时会移动到下一个屏幕。

在该屏幕中我需要检查保存,删除,重置选项功能。但是每当我执行任何一个按钮时,它也点击该菜单并显示下拉菜单。

此屏幕不是frame.so我无法使用driver.switch_to_frame(frame_id)。 为什么我得到这个以及这个问题的解决方案是什么。

这是我的代码:(不是我使用的,但这与我的代码相同)

这是我的主要标签1 2 3 4(考虑到所有菜单都有子菜单)

无论打开的是什么新屏幕都会显示在此标签下方。这对我正在使用的所有屏幕都是可见的。

menu= menu element
submenu= sub menu element
hover = ActionChains(driver)
hover.move_to_element(menu).click()
hover.click(submenu)
hover.perform() 

现在打开一个新屏幕,其中包含保存,重置选项

现在正在执行以下操作:

1 st     driver.find_element_by_id(“要填写的字段”).clear()     driver.find_element_by_id(“要填写的字段”)。send_keys(value)

2 nd     driver.find_element_by_id(“要填写的字段”).clear()     driver.find_element_by_id(“要填写的字段”)。send_keys(value)

第三     driver.find_element_by_id(“要填写的字段”).clear()     driver.find_element_by_id(“要填写的字段”)。send_keys(value)

第四节     driver.find_element_by_id(“要填写的字段”).clear()     driver.find_element_by_id(“要填写的字段”)。send_keys(value)

现在我点击保存按钮。

driver.find_element_by_id("save").click()
在此期间

会在发生此单击时产生问题,它再次单击菜单项并显示菜单项的下拉列表。

1 个答案:

答案 0 :(得分:0)

您要问的是如何移动鼠标(如用户所示)来触发子菜单/下拉菜单。 (或者至少我认为这就是你的意思)

首先找到元素,然后使用鼠标提取selenium提供的功能。然后将鼠标移动到下一个元素(例如,保存,删除等)

这是java中的一个例子,代码类似。 How to perform mouseover function in Selenium WebDriver using Java?

我相信Frame是指窗口的另一个实例,例如当弹出窗口或其他网站从页面锚点打开时。