gpt4 book ai didi

java - 我们可以使用 Selenium 或任何其他 jar 来获取网络响应并验证

转载 作者:行者123 更新时间:2023-12-02 09:11:40 27 4
gpt4 key购买 nike

我在这里有一个要求,我需要使用 selenium 和 java 验证网络响应值。

如果有任何代码可以帮助我,那就太好了。

我想要执行的操作(需要自动化)是

  1. 加载应用程序https://www.ancestry.com

  2. 加载应用程序时按 F12 并转到网络选项卡

  3. 选择包含 b/ss 的相应网络

  4. 点击它并获取查询参数中的值

我在下图中突出显示了它们

注意:我需要对应用程序加载后发生的每个点击事件执行此操作。

这在 Selenium 中可能吗

Network Request

Network Request

这是我尝试记录值的代码,我做得对吗请帮助

public static void main(String[] args) throws IOException {
System.setProperty("webdriver.chrome.driver",
new File(".").getCanonicalPath() + "\\WebDriver\\chromedriver.exe");
WebDriver driver = new ChromeDriver();
driver.get("https://www.ancestry.com");
//capture(driver);
driver.quit();
}

public static void capture(WebDriver driver) throws IOException {
OutputStream logfile = new FileOutputStream(new File(new
File(".").getCanonicalPath() + "\\log.txt"), true);
PrintStream printlog = new PrintStream(logfile);
LogEntries logs = driver.manage().logs().get(LogType.PERFORMANCE);
for (LogEntry entry : logs) {
if (entry.toString().contains("\"type\":\"Img\""))
System.out.println(entry.toString());

printlog.append(new Date(entry.getTimestamp()) + " " + entry.toString() + " "
+ System.getProperty("line.separator"));
printlog.append(System.getProperty("line.separator"));
printlog.append(System.getProperty("line.separator"));
}
printlog.close();
}

最佳答案

我们可以使用浏览器mob代理获取所有网络日志

private static BrowserMobProxy proxy = new BrowserMobProxyServer();
public webLib(String browser) {
logReport.logMethodStart("Launch Application");
Proxy seleniumProxy = null;
proxy.start();
seleniumProxy = ClientUtil.createSeleniumProxy(proxy);

if (browser.equalsIgnoreCase("chrome")) {
try {
System.setProperty("webdriver.chrome.driver",
new File(".").getCanonicalFile() + seperator + "WebDriver" + seperator + "chromeDriver.exe");
} catch (IOException e) {
e.printStackTrace();
}

ChromeOptions options = new ChromeOptions();

options.setCapability(CapabilityType.PROXY, seleniumProxy);
options.setAcceptInsecureCerts(true);
options.addArguments("--ignore-certificate-errors");
options.addArguments("--disable-popup-blocking");
options.addArguments("--no-sandbox");
options.addArguments("--no-sandbox");

driver = new ChromeDriver(options);
} else if (browser.equalsIgnoreCase("firefox")) {

}

driver.manage().deleteAllCookies();
driver.manage().window().maximize();
driver.manage().timeouts().pageLoadTimeout(20, TimeUnit.SECONDS);
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);

if (driver != null) {
logReport.logStep(Status.PASS, "Browser launched successfully", driver);
}

}

您可以引用以下网址 https://www.swtestacademy.com/webdriver-browsermob-proxy/

关于java - 我们可以使用 Selenium 或任何其他 jar 来获取网络响应并验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59360936/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com