Network.enable方法参数类型不匹配报错,求Selenium DevTools解决办法
解决Selenium DevTools Network.enable方法参数类型不匹配错误
错误原因
错误提示明确指出:Network.enable()方法需要接收三个Optional<Integer>类型的参数,但你传入的Optional.empty()默认被推断为Optional<Object>类型,Java编译器无法自动完成类型转换,导致参数类型不匹配。
解决方案
显式指定Optional.empty()的泛型类型为Integer,让编译器识别出这是符合方法要求的参数类型。
修正后的完整代码
import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; import org.openqa.selenium.devtools.DevTools; import org.openqa.selenium.devtools.network.Network; import com.google.common.collect.ImmutableList; import io.github.bonigarcia.wdm.WebDriverManager; import java.util.Optional; public class TestNetworkRequest { public static void main(String[] args) { WebDriverManager.chromedriver().setup(); WebDriver driver = new ChromeDriver(); driver.manage().window().maximize(); DevTools devTools = ((ChromeDriver)driver).getDevTools(); devTools.createSession(); // 显式指定Optional泛型为Integer devTools.send(Network.enable(Optional.<Integer>empty(), Optional.<Integer>empty(), Optional.<Integer>empty())); devTools.send(Network.setBlockedURLs(ImmutableList.of("*.jpg","*.png","*.jpeg"))); // 修正URL格式错误:补充http后的// driver.get("http://www.makemytrip.com"); } }
额外注意事项
原代码中的URLhttp:www.makemytrip.com存在格式错误,缺少http后的双斜杠//,修正后才能正常访问目标网站。
内容的提问来源于stack exchange,提问作者Meghana Rao
相关产品推荐
相关产品推荐

