Selenium Webdriver:等到页面上出现文本

时间:2015-12-21 14:33:37

标签: javascript selenium xpath

我试过这个:

driver.wait(function() {
  return driver.isElementPresent(webdriver.findElement(By.xpath("//*[contains(text(),'Vanilla Sky Final Scene')]")))
}, 20000).then(function() {
  console.log('worked')
})

和此:

driver.wait(function() {
  return driver.isElementPresent(driver.findElement(By.xpath("//*[contains(text(),'Vanilla Sky Final Scene')]")))
}, 20000).then(function() {
  console.log('worked')
})

而且:

driver.wait(function() {
  return driver.findElement(By.xpath("//*[contains(text(),'Vanilla Sky Final Scene')]")))
}, 20000).then(function() {
  console.log('worked')
})

它们似乎都不起作用。什么是正确的方法?

1 个答案:

答案 0 :(得分:2)

正确的功能是isDisplayed(),以下内容应该有效:

driver.wait(function() {
  return driver.findElement(By.xpath("//*[contains(text(),'Vanilla Sky Final Scene')]")).isDisplayed();
}, 20000);