Selenium错误 - 无法导航到无效的URL

时间:2013-08-25 13:51:47

标签: selenium selenium-chromedriver invalid-url

我收到以下错误:

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)。

请让我知道我应该怎么做才能解决它。

7 个答案:

答案 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);
    }
}