特定のURLで呼び出されているJSファイルを見つける必要があるWebサイトを自動化しようとしています。Webページで使用/呼び出されているJSファイルの名前をフェッチするコードはありますか?通常、[開発者ツール]> [ネットワーク]> [JS]タブにリストされているJSファイルの名前が必要です。取得したい画像。(Stackoverflowホームページのサンプル画像)。
コードで試しました
DesiredCapabilities d = DesiredCapabilities.chrome();
LoggingPreferences logPrefs = new LoggingPreferences();
logPrefs.enable(LogType.PERFORMANCE, Level.ALL);
d.setCapability(CapabilityType.LOGGING_PREFS, logPrefs);
WebDriver driver = new ChromeDriver(d);
driver.get("https://stackoverflow.com");
LogEntries les = driver.manage().logs().get(LogType.SERVER);
for (LogEntry le : les) {
System.out.println(le.getMessage());
}
しかし、このコードは私が必要としない多くの詳細を提供します。JSファイルの名前のみを取得する方法はありますか?
JavaScriptを介してResource Timing APIから取得できます。以下の私の例を参照してください:
ArrayList<String> results = (ArrayList<String>) ((JavascriptExecutor)driver).executeScript(
"return window.performance.getEntries().filter(e=>e.initiatorType==='script').map(item=>item.name);");
results.forEach((url)->System.out.println(url));
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加