我正在使用RUBY selenium webdriver(不是java,不是c#等)。请解决方案必须是红宝石。所以,我有ID“_wicket_window_3”的框架。要找到这个元素,我申请:
driver.switch_to.frame driver.find_element(:id, "_wicket_window_3")
我的frama有“Adjuntar”,“Exportar”和“Terminar”按钮。
现在,我该如何管理框架?我想点击“Adjuntar”,“Terminar”或“Exportar”按钮。
如果我在那里尝试:
frame = driver.switch_to.frame driver.find_element(:id, "_wicket_window_3")
frame.click_button("Adjuntar")
响应是:未定义的方法。
拜托,帮帮我!!!
此致,Agustín。
答案 0 :(得分:0)
您无法管理在规划时切换到的iframe。 当你这样做
driver.switch_to.frame driver.find_element(:id, "_wicket_window_3")
您的上下文开始位于此iframe中,您现在对驱动程序执行的所有操作都将位于此iframe内。
所以,在切换之后:
driver.click_button("Adjuntar")
应该点击按钮。
答案 1 :(得分:0)
我不认为click_button是正确的命令,这就是为什么您得到的错误是undefined method
您必须切换到框架,然后像之前一样查找按钮的元素,然后单击框架
类似
driver.switch_to.frame driver.find_element(:id, "_wicket_window_3")
driver.find_element(:id, "id_of_the_button_you_want_to_click").click
Note在此处使用:id
,但您可以使用所需的任何定位符,:css
,:xpath
,:class