我有以下的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']")
這是最好的方式做的紅寶石。謝謝 :) –