Javascript Watir webdriver,无法与div弹出窗口交互

Javascript Watir webdriver,无法与div弹出窗口交互,javascript,ruby,popup,watir-webdriver,Javascript,Ruby,Popup,Watir Webdriver,我无法找到与突出显示的HTML交互的方法: 当我点击一个链接时,会出现一个交互式模式,其中有一个表格,允许用户购买零件。此外,modal还具有在modal中打开新部分的链接 我试图编写步骤定义,但无法通过测试。有关我的(最新尝试)代码,请参见下文: 我一直得到的错误是元素未定位。有人能给我指路吗 以下是发生的错误: unable to locate element, using {:id=>"modal_loan_parts_table", :tag_name=>"div"}

我无法找到与突出显示的HTML交互的方法:

当我点击一个链接时,会出现一个交互式模式,其中有一个表格,允许用户购买零件。此外,modal还具有在modal中打开新部分的链接

我试图编写步骤定义,但无法通过测试。有关我的(最新尝试)代码,请参见下文:

我一直得到的错误是
元素未定位
。有人能给我指路吗

以下是发生的错误:

  unable to locate element, using {:id=>"modal_loan_parts_table", :tag_name=>"div"} (Watir::Exception::UnknownObjectException)
  ./step_definitions/secondarymkt_buying_lp.rb:62:in `/^I click on the Buy icon of loan part selected$/'
  secondarymkt_buying_lp.feature:27:in `When I cllick on the Buy icon of loan part selected'

非常感谢大家

我没有使用xpath就找到了解决方案。这是我的代码,它是有效的:

When /^I click on the Buy icon of loan part selected$/ do
  @browser.div(:id, 'details-ajax-modal').wait_until_present
  @browser.div(:id, 'details-ajax-modal').exists?
  @browser.link(:class, 'modal-buy').wait_until_present
  @browser.link(:class, 'modal-buy').click
end

非常感谢大家。

全部错误是什么?您确定div id是
modal\u loan\u parts\u modal
-它不在显示的html部分吗?另一种可能性:显示的“modal”是包含在iframe中的html部分?如果是公共页面,请提供指向该页面的链接。或者链接到一个类似的公共页面。大家好,为div id道歉,它实际上是“modalŽu loan_parts_table”。嗨Željko,很遗憾,我无法提供该页面的链接,我们的网站上也没有类似功能的页面。这实际上是一个完整的重新工作的一个网站,因此没有例子。对不起,这似乎比实际情况更复杂。我想你可以只做
@browser.link(:class,'modal buy')。当你呈现时,单击
?使用@browser.link(:class,'modal buy')。当你呈现时,不幸的是,这一步不起作用。运行测试时,它找不到元素。我知道我的代码并不漂亮,但它在不使用xpath的情况下完成了这项工作:)。再次非常感谢贾斯汀抽出时间来帮助我。
When /^I click on the Buy icon of loan part selected$/ do
  @browser.div(:id, 'details-ajax-modal').wait_until_present
  @browser.div(:id, 'details-ajax-modal').exists?
  @browser.link(:class, 'modal-buy').wait_until_present
  @browser.link(:class, 'modal-buy').click
end