Java 在源页面上查找<;脚本>;线
请有人帮我解决以下问题: 我必须测试页面的源代码是否包含以下行:Java 在源页面上查找<;脚本>;线,java,selenium-webdriver,Java,Selenium Webdriver,请有人帮我解决以下问题: 我必须测试页面的源代码是否包含以下行: <script>dataLayer.push({'login':'not logged in','site-language':'es','article-type':'2','section1':'error page','section2':'error page > access denied'});</script> 下一步是检查当前页面上是否存在上述行? 提前感谢您您尝试做的是基本的字符串
<script>dataLayer.push({'login':'not logged in','site-language':'es','article-type':'2','section1':'error page','section2':'error page > access denied'});</script>
下一步是检查当前页面上是否存在上述行?
提前感谢您您尝试做的是基本的
字符串
操作
您可以在String
上执行matches()
或contains()
方法等操作
例如:
driver.navigate().to(BaseTest.config("url") + "/es/pronosticos");
String link = driver.getPageSource();
String script = "<script>dataLayer.push({'login':'not logged in','site-language':'es','article-type':'2','section1':'error page','section2':'error page > access denied'});</script>";
if (link.contains(script)) System.out.println("Site contains script");
else System.out.println("Site does NOT contain script");
拉斯科夫斯基:谢谢,第二种方法很完美!
driver.navigate().to(BaseTest.config("url") + "/es/pronosticos");
String link = driver.getPageSource();
String script = "<script>dataLayer.push({'login':'not logged in','site-language':'es','article-type':'2','section1':'error page','section2':'error page > access denied'});</script>";
if (link.contains(script)) System.out.println("Site contains script");
else System.out.println("Site does NOT contain script");
try {
WebElement script = driver.findElement(By.tagName("script"));
String scriptText = script.getText(); //returns the text of <script> tag
if (scriptText.contains("access denied")) System.out.println("Access Denied!");
else System.out.println("Access granted");
} catch (NoSuchElementException e) {
System.out.println("Script does NOT exist!");
}