Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.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
Custom controls 使用WATIR WebDriver单击按钮_Custom Controls_Watir_Watir Webdriver - Fatal编程技术网

Custom controls 使用WATIR WebDriver单击按钮

Custom controls 使用WATIR WebDriver单击按钮,custom-controls,watir,watir-webdriver,Custom Controls,Watir,Watir Webdriver,我整个上午都在努力解决这个问题,希望能得到一些帮助。 我在网页上有一个按钮,它会弹出一个控制面板,让用户选择要显示的小部件。我正试图使用watir webdriver和firefox 9.0启动这个程序,但一点运气都没有。我可以登录到该网站,进入包含该按钮的页面,但无法单击“选择您的功能”按钮 <div class="personalizationButton"> <span class="personalizationStatus"></span>

我整个上午都在努力解决这个问题,希望能得到一些帮助。 我在网页上有一个按钮,它会弹出一个控制面板,让用户选择要显示的小部件。我正试图使用watir webdriver和firefox 9.0启动这个程序,但一点运气都没有。我可以登录到该网站,进入包含该按钮的页面,但无法单击“选择您的功能”按钮

<div class="personalizationButton">
  <span class="personalizationStatus"></span>
  &nbsp;
  <b class="widgetPanelLink neo-button button-white">
    <span>CHOOSE YOUR FEATURES</span>
  </b>
</div>`
等等,等等。。。只是不确定我的格式是否正确。我看着它进入页面,我看到页面上的“选择你的功能”按钮,但它从不点击它。通常,根据使用的版本,我会遇到如下错误:

unable to locate element, using {:text=>"CHOOSE YOUR FEATURES", :tag_name=>"button"}

这是我认为应该可以使用的版本,当我尝试它时,我没有收到任何错误,但在浏览器中也没有看到任何结果:

$browser.div(:class => "personalizationButton").click

我在HTML中没有看到任何固有的可点击(带有输出)的内容。对于IRB输出,它显示它正在查找div,但单击它时没有任何操作。
元素只是“粗体”样式,所以我们不需要尝试

如果您可以通过文本访问范围,请选择您的功能,这应该是您的按钮

$browser.span(:text => "CHOOSE YOUR FEATURES").click

。我也尝试过在godaddy.com上做同样的事情,但它确实有效。 主页上有一个标有“立即购买”的按钮,使用下面的代码 brow.div(:class=>“gdhp域链接gdhp圆角”).span(:text=>“立即购买”)。单击
我是

Derek,你能把你到目前为止在Watir身上所做的尝试贴出来吗?感谢您提前提供HTML(您有链接吗?)。另外,您可以发布错误吗?是不是没有找到div,还是没有单击您想要的,等等?
$browser.div(:class,'personalizationButton')。出现时。单击
$browser.button(:text=>'CHOOSE YOUR FEATURES')。单击
$browser.button(:div=>'personalizationButton')。单击
等等。。。只是不确定我的格式是否正确。我看着它进入页面,我看到页面上的“选择你的功能”按钮,但它从不点击它。通常,根据使用的版本,我会遇到这样的错误:
无法定位元素,使用{:text=>“选择您的功能”,:tag_name=>“button”}
这是我认为应该可以工作的版本,但我没有收到任何错误,在浏览器中也没有看到任何事情发生:
$browser.div(:class=>“personalizationButton”)。单击
这是我在尝试IRB时在IRB中看到的所有内容:
>$browser.div(:class=>“personalizationButton”)。单击=>[]
您可能拥有的是一个看起来像按钮的div或span,很可能是通过CSS和div/span样式控制的背景图像。在这种情况下,除非您可以让开发人员告诉您什么元素对单击有反应,否则您只需尝试单击其中的内容。顺便说一句,B标记只是粗体,它是一个文本格式标记,通常不可点击。尤里卡,我不知道我可以做这样的事情。成功了!非常感谢!如果你不介意在同一个情况下再加一个指针。。。在“选择您的功能”页面上,有几个选项可以打开或关闭。所有这些都通过带有ADD的span标签进行标识。因此,我需要能够点击添加,但具体的<代码>报价详情。添加所以我想我必须在同一个单击操作中使用div类和span类?我明白了。。。用你之前的例子,我能想出这个。。。再一次,太棒了!开始掌握这个窍门了
$browser.div(:class=>'add-widget-widget-add-widget-widget-QuotesDetails').span(:text=>'add')。单击
虽然有点脆弱,但也可以使用元素的“索引”来查找特定的元素(第一个将是0)。如果需要,还可以使用定位器组合:@browser.span(:text=>“ADD”,:index=>2)。单击。然而,使用parentdiv元素完成这项工作的方式是最好的!在回答之前的问题时,试图继续讨论一个类似但不同的问题是非常令人困惑的,而且不太可能得到答复。请开始一个新问题,发布相关的html和您尝试过的watir代码,任何错误等。如果您认为有助于解释真正需要的内容,您可以引用此问题(使用问题下的“链接”链接,复制提供的链接并粘贴到新问题中)。(但总的来说,最好只提出一个独立的新问题)
$browser.span(:text => "CHOOSE YOUR FEATURES").click