Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在ruby selenium webdriver中管理框架_Ruby_Selenium Webdriver - Fatal编程技术网

如何在ruby selenium webdriver中管理框架

如何在ruby selenium webdriver中管理框架,ruby,selenium-webdriver,Ruby,Selenium Webdriver,我使用的是RUBY selenium webdriver,不是java,不是c等等。请注意,解决方案必须是RUBY。所以,我有一个Id为wicket窗口3的框架。要定位此元素,我应用: driver.switch_to.frame driver.find_element(:id, "_wicket_window_3") 我的frama有辅助按钮、出口按钮和终端按钮 现在,如何管理框架?我想单击按钮Adjuntar、Terminar或Exportar 如果我在那里尝试: frame = dri

我使用的是RUBY selenium webdriver,不是java,不是c等等。请注意,解决方案必须是RUBY。所以,我有一个Id为wicket窗口3的框架。要定位此元素,我应用:

driver.switch_to.frame driver.find_element(:id, "_wicket_window_3") 
我的frama有辅助按钮、出口按钮和终端按钮

现在,如何管理框架?我想单击按钮Adjuntar、Terminar或Exportar

如果我在那里尝试:

frame = driver.switch_to.frame driver.find_element(:id, "_wicket_window_3") 
frame.click_button("Adjuntar")
回答是:未定义的方法

请帮帮我


尊敬的阿古斯丁。

您无法在计划时管理切换到的iframe。 当你这样做的时候

driver.switch_to.frame driver.find_element(:id, "_wicket_window_3") 
您的上下文开始在这个iframe中,您现在对驱动程序执行的所有操作都将在这个iframe中

因此,在切换后,请执行以下操作:

driver.click_button("Adjuntar")

它应该点击按钮。

我不认为点击按钮是正确的命令,这就是为什么你得到的错误是未定义的方法

您必须切换到框架,然后像以前一样查找该按钮的元素以查找框架,然后单击它

差不多

driver.switch_to.frame driver.find_element(:id, "_wicket_window_3") 
driver.find_element(:id, "id_of_the_button_you_want_to_click").click

注意:这里使用了:id,但是你可以使用任何你想要的定位器,:css,:xpath,:class,无论什么

正如你所说的,解决方案必须是ruby的,那么为什么其他语言会被标记呢。。我正在移除这些。这个点击按钮是什么?为什么不使用类似于driver.find_元素:id,'yourButtonId'。单击driver.switch_到.frame driver.find_元素:id,\u wicket\u window\u 3后,找到按钮附件并单击它。。。让我知道你看到了什么..点击按钮是rwebspec的一种方法。我没有按钮的id,因此我使用click_Button和Juntar。如果我尝试driver.switch\u to.frame driver.find\u元素:id,\u wicket\u window\u 3 driver.click\u按钮ADJUNtar,则响应为:找不到元素。因此,我想将框架分配给一个变量,然后管理该变量。在本例中,变量为“frame”,但我找不到结果。在SeleniumWebDriver的Ruby绑定中,不存在类似click_按钮的方法。它只有点击。