检查元素是否在Selenium / WebDriver(Ruby)中有标签
我有以下HTML代码:
我想检查session_remember_me
字段是否有标签Remember me
如何检查?
我不懂Ruby,但在Java中,你可以做到以下几点:
boolean isLabelPresent = true; try { driver.findElement(By.xpath("//label[@for='session_remember_me']")); } catch (NoSuchElementException e) { isLabelPresent = false; }
以下是如何在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']")
我用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')]
并检查这样的元素是否存在。