有人可以帮我解决以下问题:


我必须测试页面的源代码是否包含以下行:

&# xA; < script> dataLayer.push({'login':'未登录','site-language':'es','article-type':'2','section1' :'错误页','section2':'错误页>访问被拒绝'});< / script>



 实际上我正在寻找拒绝访问或错误页面>拒绝访问(如果该页面上存在),并在找到页面来源时卡住


 driver.navigate()。to(BaseTest.config(“url”)+“/ es / pronosticos”);
 String link = driver.getPageSource();



 下一步是检查当前页面上是否存在以上行?&# xA;提前谢谢

答案 0 :(得分:1)
您要做的是基本String
操纵。
您可以在matches()
上执行contains()
或String
方法等操作。
示例:
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");
另一种方法是尝试查找<script
&gt;元素通过WebDriver
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!");
}