如何通过WebDriver验证加载页面中是否存在某个单词?

时间:2015-08-07 17:54:42

标签: python selenium selenium-webdriver

如何验证用户是否在屏幕上看到一个单词,例如“book”或“Book”(在https://www.amazon.com/gp/gw/ajax/s.html?ie=UTF8&ref_=nav_logo等网页上?脚本应该检查用户看到的所有内容,包括图像(“标题“和”alt“)。脚本应返回True或False。如何使用断言检查整个页面True,断言False ?有人在Python中写过这样的内容吗?

2 个答案:

答案 0 :(得分:1)

获取页面的完整文本。

WebDriver driver = new FirefoxDriver();
String bodyText = driver.findElement(By.tagName("body")).getText();
//if the word you would like to check is "Book"
boolean isWordPresent = bodyText.contains("Book");

维护您希望在页面上验证的单词列表并循环显示列表。

答案 1 :(得分:0)

是的,我已经编写了类似的测试来确保页面正确加载。

  1. 首先,你需要掌握这些元素。来自HTML的身份,为了实现这一点,您可以使用Firefox插件:Firebug或Chrome的开发者模式来检查元素。
  2. 一旦你掌握了你的元素的身份,你可以从这里选择一些选项,你可以通过Xpath找到一个元素或者通过Css选择器找到一个元素,请转到 w3school 更详细的教程。
  3. 当找到一个元素时,使用find_element_by_xpath或find_element_by_css_selector,你可以使用element.innerText()函数来获取它们的文本,我认为它们就是你所追求的。
  4. 您可以查看整个HTML页面,验证您期望的文本是否会显示。
  5. 希望它可以帮到你一点点。