我需要打开特定网址页面中的所有链接。如果链接打开,我需要检查页面内容并验证它不包含特定文本。
我使用了基于硒的Selenide,并尝试了以下方法:
String[] links = null;
int linksCount = 0;
System.setProperty("webdriver.chrome.driver", "Resources/chromedriver1.exe");
WebDriverRunner.setWebDriver(new ChromeDriver());
driver= WebDriverRunner.getWebDriver();
open("myURL");
List<WebElement> linksize = WebDriverRunner.getWebDriver().findElements(By.tagName("a"));
linksCount = linksize.size();
out.println("Total no of links Available: "+linksCount);
links= new String[linksCount];
out.println("List of links Available: ");
// print all the links from webpage
for(int i=0;i<linksCount;i++)
{
links[i] = linksize.get(i).getAttribute("href");
System.out.println(linksize.get(i).getAttribute("href"));
}
// navigate to each Link on the webpage
for(int i=0;i<linksCount;i++)
{
if(links[i] != null)
{
if(!links[i].contains("javascript"))
{
System.out.println(links[i]);
driver.navigate().to(links[i]);
Selenide.sleep(7);
WebElement error = $(Selectors.byText("no information!"));
$(error).shouldNotBe(visible)
.shouldNotBe(text("information!"));
}
}
}
我在此link中使用了相同的解决方案。但在检查时我有这个例外:
未知错误:未处理的检查员错误:{“code”: - 32603,“message”:“无法导航到无效的网址”} (会议信息:chrome = 49.0.2623.87)
org.openqa.selenium.WebDriverException:未知错误:未处理的检查员错误:{“code”: - 32603,“message”:“无法导航到无效的网址”} (会话信息:chrome = 49.0.2623.87) (驱动程序信息:chromedriver = 2.9.248315,platform = Windows NT 6.1 SP1 x86)(警告:服务器未提供任何堆栈跟踪信息) 命令持续时间或超时:4毫秒 构建信息:版本:'2.50.1',修订版:'d7fc91b',时间:'2016-01-29 19:04:49'
我使用了来自here
的Chrome驱动程序版本可能产生此错误的原因是什么?
答案 0 :(得分:1)
从您发布的错误日志中,清楚显示&#34;无法导航到无效的网址&#34;。提供有效的网址并检查 - 谢谢
答案 1 :(得分:1)
几乎可以肯定,在您浏览链接之前很久就会失败。
以下行will try to load显然不是有效的网址,这完全解释了您所遇到的错误。
open("myURL");
大概你打算传入一个名为myURL
的变量?