我有以下的HTML代码:检查元素是否有一个标签在硒/ webdriver的(红宝石)
<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
如何检查呢?
我有以下的HTML代码:检查元素是否有一个标签在硒/ webdriver的(红宝石)
<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
如何检查呢?
我不知道红宝石,但在Java中,你可以只做到以下几点:
boolean isLabelPresent = true;
try {
driver.findElement(By.xpath("//label[@for='session_remember_me']"));
} catch (NoSuchElementException e) {
isLabelPresent = false;
}
我会做这个使用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')]
,只是检查是否存在这样一个元素。
这里是如何做到这一点的红宝石:
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']")
这是最好的方式做的红宝石。谢谢 :) –