我遇到了Selenium WebDriver的WebSocket问题,与描述here的问题相同。问题的解决方案是将--remote-allow-origins=*
参数添加到驱动程序的ChromeOptions。但是,我不想为此参数使用通配符。我想将其设置为仅允许从我的应用程序连接的值。
我相信解决方案将涉及预先确定WebDriver的端口。这是我最好的尝试,但它不起作用:
ChromeOptions options = new ChromeOptions();
options.addArguments("--incognito", "--app=" + linkedform);
int port;
try (ServerSocket serverSocket = new ServerSocket(0)) {
port = serverSocket.getLocalPort();
} catch (IOException e) {
throw new RuntimeException(e);
}
options.addArguments("--remote-allow-origins=http://localhost:" + port);
ChromeDriverService service = new ChromeDriverService.Builder().usingPort(port).build();
this.chrome = new ChromeDriver(service, options);
我是不是走对了路?这可能吗?
1条答案
按热度按时间xzlaal3s1#
你可以试试这样的