我正在尝试在第一个二维码后消除二维码流程。
我的代码通过Web驱动程序运行Whatsapp:
public class DriverTester {
public static void main(String[] args) {
DesiredCapabilities capabilities = DesiredCapabilities.chrome();
capabilities.setCapability(CapabilityType.UNEXPECTED_ALERT_BEHAVIOUR, UnexpectedAlertBehaviour.IGNORE);
ChromeDriverService service = new ChromeDriverService.Builder()
.usingDriverExecutable(new File("C:\\whatsup\\src\\main\\resources\\chromedriver.exe"))
.usingAnyFreePort()
.build();
ChromeOptions options = new ChromeOptions();
options.merge(capabilities);
ChromeDriver driver = new ChromeDriver(service, options);
driver.navigate().to("https://web.whatsapp.com/");
while (driver.findElements(By.xpath(XPaths.autoStartReady)).size() == 0);
LocalStorage localStorage = driver.getLocalStorage();
driver.close();
driver = new ChromeDriver(service, options);
for (String key : localStorage.keySet()){
String value = localStorage.getItem(key);
driver.executeScript("window.localStorage.setItem('"+key+"', '"+value+"');");
}
driver.navigate().to("https://web.whatsapp.com/");
}
当浏览器首次打开时,我正在手机上执行QR码例行程序。在执行javascript代码时引发了异常。
但是我得到了下一个异常:
Exception in thread "main" org.openqa.selenium.NoSuchSessionException: no such session
如果我试图保存cookie,那么cookie设置为空(无法保存任何cookie,仍然不知道为什么)。
如何跳过第一次扫码的过程?如果有人知道如何在不进行一次扫码的情况下跳过它,那也会很有帮助(但我现在认为这太困难了)。
提前致谢!