web-dev-qa-db-ja.com

Seleniumエラー-無効な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)

約2日前のchromeブラウザの最終更新バージョン(29)に関係していると思います。

* 注: *私のchromedriverは最新(2.2)です。

修正するにはどうすればよいですか。

12
Daniella

PythonでSeleniumを使用しているときに同じエラーを受け取りました。リンク先URLの前にhttp://私の問題を解決しました:

self.driver.get("http://"+url.rstrip())
21
amitdatta

これは、渡したURLが無効な形式を使用しているため、文字通り発生します。

次のデバッグコードを試してください。ourUrlは、接続しようとしているURLの文字列です。

System.out.println("!!URL " +ourUrl);

driver.get(ourUrl);

私にとってそれは出力でした:!! URL " http://www.salesforce.com "そして問題はURLの周りに引用符があったことでした。あなたの場合、それは似たようなものかもしれません。 URLを適切にフォーマットすると、機能します

3
gorbysbm

エラーメッセージが「無効なURL」である場合は、アクセスしようとしているWebページのURLを確認し、次のような場合に表示されるURLと比較してください。

System.out.println(url);

SeleniumがWebページを開こうとするとき、正確な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);

リストまたはファイルからURLを取得していて、Webサイトページが使用しているプロトコル(http://またはhttps://)がわかっている場合は、次のように実行できます。

public static void getURLByDriverFromList(List<String> urls) {
    for(List<String> url : urls) {
        if(!url.contains("http://") {
            url = "http://" + url;
        }
    driver.get(url);
    }
}
1
K. W. H.

このエラーは数分前に発生しましたが、URLの前に「https://」を追加することで解決しました。うまくいきますように!

0
Elijah

次のコードを試してみてください、それは私のために働いています。

WebDriver driver = new ChromeDriver();
driver.get("https://www.facebook.com");

URLにhttpsを追加します。

0
Mohit Jaiswal

まったく同じエラーが発生しましたが、Python Behave BDDの解析問題が原因でした。

たとえば、次の機能構文があるとします

Given the user is on <page> using <url>

そして私の例の構文は

Examples: Pages
    | page                    | url                           |
    | Mobile App using Guide  | https://www.example.com       |

usingステートメントの変数の間にWord givenがあり、ページタイトルでusingがどのように使用されているかを確認してくださいMobile App using Guide。このため、Word GuideがURLに追加され、Seleniumは無効なURLエラーを返します。

BehaveまたはGherkin構文のBDDを使用している場合は、例の表のGiven、When、Thenステートメントの変数間で同じキーワードを使用しないでください。

0
j7an

他のコメントで言及されているように絶対パスを使用できます。または、Web上の内部リンク/ボタンの場合は、WebElementとしてマップして、click()メソッドを実行できます。

0
Hawlett