我收到以下错误:
unknown error: unhandled inspector error:
{"code":-32603,"message":"Cannot navigate to
invalid URL"} (Session info: chrome=29.0.1547.57) (Driver info:
chromedriver=2.2,platform=Windows NT 6.1 SP1 x86_64)
我认为它与Chrome浏览器上次更新版本(29)大约两天前有关。
* 注意: *我的chromedriver是最新的(2.2)。
请让我知道我应该怎么做才能解决它。
答案 0 :(得分:20)
我在python上使用Selenium时收到了同样的错误。使用http://
添加目标网址可以解决我的问题:
self.driver.get("http://"+url.rstrip())
答案 1 :(得分:3)
这确实发生了,因为您传入的网址使用的格式无效。
尝试以下调试代码,其中ourUrl
是您尝试连接的URL的字符串:
System.out.println("!!URL " +ourUrl);
driver.get(ourUrl);
对我而言是打印出来的:!!网址" http://www.salesforce.com" 问题是网址周围有引号。在你的情况下,它可能是类似的东西。正确格式化网址后,它将正常工作
答案 2 :(得分:0)
我几分钟前就遇到了这个错误,但我已经通过在网址的前面添加“https://”来解决了这个问题。希望它对你也有用。祝你好运!
答案 3 :(得分:0)
您可以使用其他评论中提到的绝对路径,或者 - 如果它是网络上的内部链接/按钮 - 您可以将其设为WebElement
并执行click()
方法。
答案 4 :(得分:0)
我有完全相同的错误,但这是由于Python Behave BDD中的解析问题。
例如,如果我有以下特征语法
Given the user is on <page> using <url>
我的示例语法有
Examples: Pages
| page | url |
| Mobile App using Guide | https://www.example.com |
在using
语句中查看我的变量之间的单词given
,并在页面标题using
中使用Mobile App using Guide
。因此,单词Guide
将添加到网址上,Selenium将返回无效的网址错误。
如果您正在使用Behave或可能使用Gherkin语法的任何BDD,请避免在示例表中的Given,When,Then语句中使用相同的关键字。
答案 5 :(得分:0)
尝试以下代码,它对我有用。
WebDriver driver = new ChromeDriver();
driver.get("https://www.facebook.com");
在您的网址中添加https
。
答案 6 :(得分:0)
如果错误消息是“无效的网址”,请检查您要访问的网页上的网址,然后将其与执行以下操作时显示的内容进行比较:
System.out.println(url);
当硒试图打开一个网页,它需要的确切网址。它不会推断超文本传输协议(HTTP://或https://)。换句话说,如果您尝试使用driver.get(url),并且url返回www.myurl.com,则如果未附加http或https,则可能会失败。
//Append the Hyper Text Transfer Protocol to the url
driver.get("http://" + url);
如果您是从列表或文件中获取网址,并且知道您的网站页面使用的协议(http://或https://),则可以执行以下操作:
public static void getURLByDriverFromList(List<String> urls) {
for(List<String> url : urls) {
if(!url.contains("http://") {
url = "http://" + url;
}
driver.get(url);
}
}