Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/24.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 水豚+硒-元素在点(388.3833312988281,8.333328247070312)处不可点击。其他元素将收到单击_Ruby_Capybara - Fatal编程技术网

Ruby 水豚+硒-元素在点(388.3833312988281,8.333328247070312)处不可点击。其他元素将收到单击

Ruby 水豚+硒-元素在点(388.3833312988281,8.333328247070312)处不可点击。其他元素将收到单击,ruby,capybara,Ruby,Capybara,我的按钮有问题。 每次我尝试单击时,都会收到此消息 元素在点388.3833312988281、8.333328247070312处不可单击。其他元素将收到单击 我使用的是Firefox、Capybara+ruby和selenium,而不是webdriver 这是按钮的代码 我想点击添加按钮 我能做什么 <div class="box08-2 collapseBoxContent" style="margin-top: 0px"> <div id="wt32_Huge_We

我的按钮有问题。 每次我尝试单击时,都会收到此消息

元素在点388.3833312988281、8.333328247070312处不可单击。其他元素将收到单击

我使用的是Firefox、Capybara+ruby和selenium,而不是webdriver

这是按钮的代码

我想点击添加按钮

我能做什么

<div class="box08-2 collapseBoxContent" style="margin-top: 0px">
  <div id="wt32_Huge_WebbBaseTheme_wt11_block_wtMainContent_wtMainContent_wtItemsWB_Huge_WebbBaseTheme_wt31_block_wt8_wtCollapsibleContentPH" style="margin-top: 0px">
     <div id="wt32_Huge_WebbBaseTheme_wt11_block_wtMainContent_wtMainContent_wtItemsWB_Huge_WebbBaseTheme_wt31_block_wt8_wtCollapsibleContentPH_wtContent" style="margin-top: 0px">
       <div id="wt32_Huge_WebbBaseTheme_wt11_block_wtMainContent_wtMainContent_wtItemsWB_Huge_WebbBaseTheme_wt31_block_wt8_wtCollapsibleContentPH_wtContent_wtCtnBody" data-webbtests="CompraWeb.Request_Edit.ItemsWB.divCtnBody">
         <div class="btn04 btn04v5 box20v10">
           <div id="wt32_Huge_WebbBaseTheme_wt11_block_wtMainContent_wtMainContent_wtItemsWB_Huge_WebbBaseTheme_wt31_block_wt8_wtCollapsibleContentPH_wtContent_RichWidgets_wt42_block_wtDropDownButtonRoot" class="Menu_DropDownButton OSInline">
             <div id="wt32_Huge_WebbBaseTheme_wt11_block_wtMainContent_wtMainContent_wtItemsWB_Huge_WebbBaseTheme_wt31_block_wt8_wtCollapsibleContentPH_wtContent_RichWidgets_wt42_block_wtDropDownButtonElement" class="Menu_TopMenu">
              <div id="wt32_Huge_WebbBaseTheme_wt11_block_wtMainContent_wtMainContent_wtItemsWB_Huge_WebbBaseTheme_wt31_block_wt8_wtCollapsibleContentPH_wtContent_RichWidgets_wt42_block_wtMenuItem">
                  <span data-webbtests="CompraWeb.Request_Edit.ResumeRequestItemsWB.lblActions">Add</span>

当DOM未就绪或正在更改时,通常会出现此问题

因此,您应该等到页面稳定、所有异步脚本完成、图像加载等等。广告也可能是一个问题,因为它们可能会改变页面

顺便说一句,请看一下这里,我建议在Selenium上使用watir webdriver:

以下是降低此问题发生概率的步骤:

将此代码包装在rescue块中,并在发生时重试 禁用图像加载 安装AdBlock或类似的扩展插件 在Watir中使用等待帮助程序 尽量避免使用复杂的css选择器。请使用buttontext之类的文字:“添加” 如果使用它,请尝试在代码中选择尽可能靠近单击操作的元素
当DOM未就绪或正在更改时,通常会出现此问题

因此,您应该等到页面稳定、所有异步脚本完成、图像加载等等。广告也可能是一个问题,因为它们可能会改变页面

顺便说一句,请看一下这里,我建议在Selenium上使用watir webdriver:

以下是降低此问题发生概率的步骤:

将此代码包装在rescue块中,并在发生时重试 禁用图像加载 安装AdBlock或类似的扩展插件 在Watir中使用等待帮助程序 尽量避免使用复杂的css选择器。请使用buttontext之类的文字:“添加” 如果使用它,请尝试在代码中选择尽可能靠近单击操作的元素
我不确定我是否理解您的not webdriver评论,因为将selenium与Capybara结合使用的唯一方法是通过selenium webdriver gem

根据错误的y位置判断,您得到的是8.333328247070312,您尝试单击的按钮可能位于固定标题后面。这可能是因为您没有单击使按钮从页眉后面滑出所需的元素,或者是因为页面比屏幕长,selenium webdriver滚动页面,直到元素位于页眉后面的顶部。如果页面上没有固定的页脚,则可以通过elementScrollBehavior属性将selenium webdriver更改为将元素滚动到底部而不是顶部-请参阅
. 如果这对您不起作用,那么您可以使用execute_script和JS滚动页面,使元素从标题下移出,我不确定我是否理解您的not webdriver注释,因为将selenium与Capybara一起使用的唯一方法是通过selenium webdriver gem

根据错误的y位置判断,您得到的是8.333328247070312,您尝试单击的按钮可能位于固定标题后面。这可能是因为您没有单击使按钮从页眉后面滑出所需的元素,或者是因为页面比屏幕长,selenium webdriver滚动页面,直到元素位于页眉后面的顶部。如果页面上没有固定的页脚,则可以通过elementScrollBehavior属性将selenium webdriver更改为将元素滚动到底部而不是顶部-请参阅
. 如果这对您不起作用,那么您可以使用execute_script和JS滚动页面,使元素从标题下移出

,但是如果我想在没有watir的情况下使用……我该怎么办?这个答案在很多方面都是错误的。1-关于使用水豚的问题,切换到watir并不是答案。2-救援和重试对于测试中的任何问题都是一个糟糕的解决方案,因为这意味着您的测试是非决定性的。3.安装AdBlock-这与页面上覆盖的元素有什么关系?4.buttontext:“添加”-OPs html中没有与之匹配的元素。@RodrigoSantos只是不使用watir,实现其他点。但是如果我想不使用watir…我该怎么做?这个答案在很多方面都是错误的。1-关于使用水豚的问题,切换到watir并不是答案。2-救援和重试对于测试中的任何问题都是一个糟糕的解决方案,因为这意味着您的测试是非决定性的。3.安装AdBlock-这与页面上覆盖的元素有什么关系?4.buttontext:“添加”-OPs html中没有与之匹配的元素。@RodrigoSantos只是不使用watir,实现其他点。我认为这是您使用的firefox版本和selenium版本的问题。
你可以发布你正在使用的selenium的gem版本和firefox版本吗。试着使用firefox 46.0.1我觉得Selenium 2.53对我来说很管用。我认为这是你使用的firefox版本和Selenium版本的问题。你能发布你使用的Selenium的gem版本和firefox版本吗。尝试使用firefox 46.0.1它适用于我的Selenium 2.53