Ron*_*erg 6 java cookies selenium local-storage whatsapp
我试图消除QR码之后的过程中第一次我这样做.
我通过网络驱动程序运行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/");
}
Run Code Online (Sandbox Code Playgroud)
}
当Web浏览器第一次打开时,我正在手机上执行QR代码程序.执行javascript代码时引发了异常.
但是我得到了下一个例外:
Exception in thread "main" org.openqa.selenium.NoSuchSessionException: no such session
Run Code Online (Sandbox Code Playgroud)
如果我正在尝试保存cookie,则设置的cookie是空的(无法保存任何cookie,仍然不知道为什么).
如何在第一次跳过此QR过程?如果有人知道如何跳过它而不做一次,它也会有所帮助(但我认为现在太困难了).
提前致谢!
小智 5
使用个人资料!
from selenium import webdriver
options = webdriver.ChromeOptions()
options.add_argument(r"user-data-dir=D:\Python\Memory\WebWhatsAppBot")
navegador = webdriver.Chrome(
executable_path="D:\Python\WebWhatsAppBot\chromedriver.exe", chrome_options=options)
navegador.get("https://web.whatsapp.com/")
Run Code Online (Sandbox Code Playgroud)
马塞洛的答案是正确的,但在我看来解释得很差,所以这对我有用:
在项目目录中创建一个文件夹来存储 chromedriver 会话将创建的所有缓存(忽略文件中的内容也很好.gitignore)。
然后,启动 webdriver 选项并设置目录。
from selenium import webdriver
from selenium.common.exceptions import NoSuchElementException
from selenium.webdriver.common.keys import Keys
import time
options = webdriver.ChromeOptions()
options.add_argument(r"user-data-dir=./driver/data")
driver = webdriver.Chrome(executable_path=r'./driver/chromedrive84_win', options=options)
driver.get('https://web.whatsapp.com/')
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1976 次 |
| 最近记录: |