【问题标题】:Cannot locate link css or xpath找不到链接 css 或 xpath
【发布时间】:2016-04-03 14:31:24
【问题描述】:

我开始学习 ruby​​ (rspec , ruby​​mine)。 我想做简单的点击操作,但我有问题。 id 和 name 不存在所以,我应该使用 xpath 或 css。

我试过#click on contact link:

driver.find_element(:css, 'html>body>footer>div>div>section:nth-child(3)>a:nth-child(1)').click + ' :: absolute path'

xpath 向我展示了:

 /x:html/x:body/x:footer/x:div/x:div/x:section[3]/x:a[1]

链接是:

<a href="/k/k.aspx?action=custserv&amp;topic=contact" title="Contakt ">Contact</a>

这是第一个链接:

section class="link-block link-collection col-xs-12 col-sm-4 col-md-2"

并且section类放在div: class="row"

这里是:&lt;footer class="footer" role="info"&gt;

这是在里面:&lt;body data-touch="false" class="abc"&gt;

谁能帮帮我?

【问题讨论】:

  • 问题出在哪里?
  • 您可以通过此处的链接文本内容,这样可以为将来的更改节省更多。
  • 在此处链接文本内容,那么在哪里以及如何?:) 我认为没有复制某些内容:联系
  • 适用于:driver.find_element(:xpath, '//*[@title="Contact"]').click 但是当标题改变时它将不起作用..
  • 这是规范吗?然后是的 - 当文本更改时......规范应该失败,然后您将规范更改为新文本。对于 capybara 规范,您应该测试用户实际看到的内容 - 即点击实际显示给用户的内容......而不是 CSS 类。

标签: ruby rspec rubymine


【解决方案1】:

我现在使用 Css 但是...它点击另一个链接和 css 是一样的!奇怪..嗯 css: .footer .container .row .link-block h4 + a

那么,我怎样才能用 xpath 做到这一点?;/ 我用了 @driver.find_element(:xpath, '//html/body/footer/div/div/section[3]/a[1]').click 它可以工作:) 但是..如果页面上的某些内容会发生变化?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-29
    • 2014-05-16
    相关资源
    最近更新 更多