【问题标题】:Click all links inside 'div' with watir-webdriver使用 watir-webdriver 单击 'div' 中的所有链接
【发布时间】:2012-09-25 21:24:42
【问题描述】:

我有以下 DOM 设置,我正在尝试使用 watir-webdriver 单击每个/每个链接。请记住,“随机数 X”和“随机名称 X”都是随机的,不能用于提出解决方案。

<div class="container">
<ul>
<li id="Random Number 1"><a href="#">Random Name 1</a></li>
<li id="Random Number 2"><a href="#">Random Name 2</a></li>
<li id="Random Number 3"><a href="#">Random Name 3</a></li>
</ul>
</div>

【问题讨论】:

    标签: ruby watir watir-webdriver


    【解决方案1】:

    类似:

    browser.div(:class=>"container").links.each do | link | 
      link.click 
      browser.back
    end
    

    【讨论】:

      【解决方案2】:

      您必须将所有链接存储在一个数组或结构中,然后您才能点击网页或 div 或任何元素的所有链接。

      link = Array.new
      i = 0
      browser.div(:class, "container").links.each do |li|
      link[i] = l.text
      i = i + 1
      end
      
      li.each do |visit|
      b.link(:text, visit).click
      b.back
      end
      

      这是必需的,因为如果您没有将链接存储到数组中,那么简单循环将只点击第一个链接,当它执行 browser.back 时,它不会像每次一样点击第二个链接的值时间缓存将被清除。

      【讨论】:

        【解决方案3】:

        你也可以试试:

        browser.div(:class, 'container').as.each do |x|
            x.click
            browser.back
        end
        

        或点击单个链接尝试以下方法之一:

        browser.div(:class, 'containter').as[0].click  #This is for the first link.   
        browser.div(:class, 'containter').a(:text, 'Random Name 1').click 
        

        【讨论】:

          猜你喜欢
          • 2017-06-22
          • 1970-01-01
          • 1970-01-01
          • 2014-08-04
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多