检查元素是否在Selenium / WebDriver(Ruby)中有标签

时间:2011-12-13 09:16:41

标签: ruby selenium webdriver

我有以下HTML代码:

<input id="session_remember_me" name="session[remember_me]" type="checkbox" value="1" />
<label for="session_remember_me">Remember me</label>

我想检查session_remember_me字段是否有标签Remember me 我该如何检查?

3 个答案:

答案 0 :(得分:2)

我不了解Ruby,但在Java中,您可以执行以下操作:

boolean isLabelPresent = true;
try {
    driver.findElement(By.xpath("//label[@for='session_remember_me']"));
} catch (NoSuchElementException e) {
    isLabelPresent = false;
}

答案 1 :(得分:2)

以下是如何在Ruby中执行此操作:

  def isElementPreset?(type, selector)
    begin
      @driver.find_element(type, selector)
      true
    rescue Selenium::WebDriver::Error::NoSuchElementError
      false
    end
  end

  assert isElementPresent?(:css, "label[for='session_remember_me']")

答案 2 :(得分:0)

我是用XPath做的: //form/div/div/div/span/input[@id='session_remember_me']/parent::span/parent::div/parent::div/label[@for='session_remember_me'][contains(text(),'Remember me')] 并检查这样的元素是否存在。