2014-04-08 90 views
4

我想点击下面的按钮,但是当我运行脚本按钮没有点击仍然脚本传递。无法点击Safari中使用Selenium WebDriver按钮

这里是HTML剪断

<input type="button" value="Authorize" class="standard" id="oauth2button" style="margin-left: 60px;"> 

这里是Ruby代码,我用来进行点击操作

authorize_button = $driver.find_element(:id, 'oauth2button') 
authorize_button.click 

如果我使用authorize_button.displayed?返回true。 我使用webdriver的硒和Safari浏览器版本6.1.1是

+0

为什么你觉得*按钮没有点击*?任何错误或你发现了什么? –

+0

需要更多的代码来确定在发送'click()'调用之前发生了什么。 但是在大多数情况下,我发现在点击之前插入一个小的睡眠通常会修复一些事情。尝试一下,让我知道它是否有所作为。 – Vish

+0

其实我想单击那个按钮,它会打开新窗口,然后在新窗口中执行不同的操作。但是在点击上面的按钮窗口后没有打开,所以没有找到来自新窗口的所有元素。因此,我点击上面的按钮后,我评论所有的代码,并检查脚本通过,但窗口未打开我也点击后,睡眠20。 – testing

回答

1

这可能不是你要找的答案,但有一两件事,当我遇到那样的问题是使用JavaScript来执行特定的动作我已经做了而不是Selenium,它每次都为我工作。你可以尝试这样的:

$driver.execute_script("document.getElementById('oauth2button').click();") 
+0

我也用JavaScript来点击按钮,以下面的方式$ driver.execute_script(“arguments [0] .click ();“,authorize_button)。它不适合我。 – testing

相关问题