必要な URL にあるすべてのリンク ページの内容を確認しようとしています。
だから私は次のことをします:
1- 必要な URL 内のすべてのリンクを見つける
2- リンクの検証を確認する (href コンテンツ)
3- 各リンクに移動します
5-各リンクの状態を確認してください
String[] links = null;
int linksCount = 0;
System.setProperty("webdriver.chrome.driver", "Resources/chromedriver.exe");
WebDriverRunner.setWebDriver(new ChromeDriver());
driver= WebDriverRunner.getWebDriver();
open("http://vanilla.sa/");
List<WebElement> linksize = WebDriverRunner.getWebDriver().findElements(By.tagName("a"));
linksCount = linksize.size();
links= new String[linksCount];
out.println("List of links Available: ");
for(int i=0;i<linksCount;i++)
{
links[i] = linksize.get(i).getAttribute("href");
}
// navigate to each Link on the webpage
for(int i=0;i<linksCount;i++)
{
System.out.println(links[i]);
driver.navigate().to(links[i]);
Selenide.sleep(7);
WebElement error = $(Selectors.byText("condition"));
$(error).shouldNotBe(visible)
.shouldNotBe(text("condition"));
}
1 つの URL についてこの条件を確認しようとしたところ、うまくいきました
が、上記の例のように別のリンク (URL) に自動的に移動すると、次の例外が発生します。
http://vanilla.sa/%D8%AD%D9%82%D8%A7%D8%A6%D8%A8/%D8%AD%D9%82%D8%A7%D8%A6%D8%A8- %D9%83%D8%A8%D9%8A%D8%B1%D8%A9 org.openqa.selenium.InvalidSelectorException: 無効なセレクター: 次のエラーのため、xpath 式の要素が見つかりません
.//*/text()[normalize-space(.) = "condition"]/parent::*
: TypeError: 失敗しました'Document' で 'createNSResolver' を実行してください: パラメータ 1 はタイプ 'Node' ではありません。(セッション情報: chrome=49.0.2623.87) (ドライバー情報: chromedriver=2.9.248315,platform=Windows NT 6.2 x86_64) (警告: サーバーはスタックトレース情報を提供しませんでした) コマンド期間またはタイムアウト: 74 ミリ秒 このドキュメントについてはエラー、訪問してください: http://seleniumhq.org/exceptions/invalid_selector_exception.html ビルド情報: バージョン: '2.50.1'、リビジョン: 'd7fc91b'、時刻: '2016-01-29 19:04:49' システム情報: ホスト: 'Hana'、os.name: 'Windows 8'、os .arch: 'amd64', os.version: '6.2', java.version: '1.7.0_80' *** 要素情報: {Using=xpath, value=.//*/text()[normalize-space(.) = "condition"]/parent::*
} セッション ID: 94c50df8d0862e2060230a819395224e ドライバー情報: org.openqa.selenium .chrome.ChromeDriver