css - Watir/Cucumber 无法定位元素 : dd-field div. dd-arrow-box(使用 CSS 选择器*

标签 css selector watir

主诉:

使用CSS选择器无法定位元素

CSS 路径:

html.ng-scope body.ng-scope div.snap-content div.content-container div.ng-scope div.content-box div div.cb-landing-module div.deposit-acct-box div.dropdown div.dd-field div.dd-arrow-box

CSS 选择器:

.dropdown .dd-arrow-box

我如何在 Watir/Cucumber 中使用它:

@browser.element(:css => 'dd-arrow-box').click

错误:

Cucumber reported error: Unable to late element

问题描述:

我有一个我想点击的组合框 结果将是从列表中选择元素。 我已经尝试过 xpath ,在可能的组合中出现相同的错误 找不到元素

尝试过:

可能/同步问题:偶数触发…… 失败

Xpath – 失败

当我关闭该方法(例如)单击并添加 exist 时,它被发现了。点不进去

编辑:从评论中添加 HTML:

      <div class="dd-arrow">
    </div>
  </div> 
</div> 
<ul class="dd-box" style="display: none;"> 
  <li class="dd-list-head"> Direct Deposit </li> 
  <li class="dd-item ng-scope ng-binding" ng-click="selectAccount(directDeposit)" ng-repeat="directDeposit in directDeposits"> 
  <span class="acct-name ng-binding">WELLS FARGO BANK, NA</span>

还是不解最后抛出如下异常:invalid attribute: :css (Watir::Exception::MissingWayOfFindingObjectException)

最佳答案

这可能是因为您要查找的是 dd-arrow-box 标记,而不是类。将您的代码更改为如下所示:

@browser.element(:css => '.dd-arrow-box').click 

就像您定义一个 css 文件一样。注意 dd-arrow-box

前面的句号

这是一个很好的例子。 鉴于 html:

<div class="divhere">
  <p>Hello</p>
</div>

您可以使用代码 @browser.element(css: 'p').text 从段落中获取文本。

同样,@browser.element(css: '.divhere') 将使用类选择器定位 div 元素。

关于css - Watir/Cucumber 无法定位元素 : dd-field div. dd-arrow-box(使用 CSS 选择器*,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21389919/

相关文章:

ruby - RSpec 期望检查 CSS 属性

css - 如何将css链接到 Node 中的ejs模板

ios - 尝试使用 NSTimer 以 2 秒的间隔执行方法?

jquery 类选择器 div 的输入

ruby - 从仅与 Watir 具有多个类匹配的 div 中读取文本

ruby - 如何在 jenkins slave 上用 watir 运行 ruby​​ 测试?

html - 是否可以在 Safari 的 "responsive design mode"中调整缩放?

javascript - 如何在按钮的帮助下使用 html、css 和 javascript 重定向网页

php - 在 Laravel 中应用 Bootstrap 后页面出现盒装外观

javascript - 当ID选择器缓存在jquery中时,ID选择器是否比类选择器快