次のエラーが発生します。
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)です。
修正するにはどうすればよいですか。
PythonでSeleniumを使用しているときに同じエラーを受け取りました。リンク先URLの前にhttp://
私の問題を解決しました:
self.driver.get("http://"+url.rstrip())
これは、渡したURLが無効な形式を使用しているため、文字通り発生します。
次のデバッグコードを試してください。ourUrl
は、接続しようとしているURLの文字列です。
System.out.println("!!URL " +ourUrl);
driver.get(ourUrl);
私にとってそれは出力でした:!! URL " http://www.salesforce.com "そして問題はURLの周りに引用符があったことでした。あなたの場合、それは似たようなものかもしれません。 URLを適切にフォーマットすると、機能します
エラーメッセージが「無効な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);
}
}
このエラーは数分前に発生しましたが、URLの前に「https://」を追加することで解決しました。うまくいきますように!
次のコードを試してみてください、それは私のために働いています。
WebDriver driver = new ChromeDriver();
driver.get("https://www.facebook.com");
URLにhttps
を追加します。
まったく同じエラーが発生しましたが、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ステートメントの変数間で同じキーワードを使用しないでください。
他のコメントで言及されているように絶対パスを使用できます。または、Web上の内部リンク/ボタンの場合は、WebElement
としてマップして、click()
メソッドを実行できます。