每次通过 Selenium WebDriver 无需扫描二维码的 WhatsApp
WhatsApp without QR code scanning everytime through Selenium WebDriver
在python中使用selenium和chrome webdriver访问WhatsApp网站时,是否有任何whatsapp或webdriver API无需每次扫描QR码即可访问它?
你的 "WhatsApp" 和 "QR Code" 没有告诉我任何信息,但是如果你正在测试需要额外操作才能登录的应用程序,我认为你将无法使用 Selenium 执行它,因为它是 浏览器 自动化框架。
Web 应用程序通过包含 client-side 信息的 Cookies - special HTTP Headers 来识别用户。当您通过 Selenium 绑定启动 Web 浏览器时 - 它会启动一个 clean 浏览器会话,该会话未在 "WhatsApp"(无论它是什么)
中进行身份验证
解决方案在:
- 手动在 WhatsApp 中进行身份验证,将您的浏览器配置文件存储在某处,然后通过将其指向较早的配置文件文件夹来启动 Selenium
- 在 WhatsApp 中手动验证,store your browser cookies and use WebDriver.add_cookie() 函数将存储的 cookie 读入当前干净的会话中
您可以使用 "pywhatkit"
。 pywhatkit
用于使用whatsapp web 发送消息。 运行:
pip install pywhatkit
一切顺利。
This is What you need. This code Read QR and store it in cookies
import time
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
jokes = ["You don't need a parachute to go skydiving. You need a parachute to go skydiving twice.",
"This is Test Message."]
options = Options()
options.add_argument("--user-data-dir=chrome-data")
options.add_experimental_option("excludeSwitches", ["enable-automation"])
options.add_experimental_option('useAutomationExtension', False)
driver = webdriver.Chrome('/usr/local/bin/chromedriver', options=options)
driver.maximize_window()
driver.get('https://web.whatsapp.com') # Already authenticated
time.sleep(20)
##################### Provide Recepient Name Here ###############################
driver.find_element_by_xpath("//*[@title='MyJakartaNumber']").click()
for joke in jokes:
driver.find_element_by_xpath('//*[@id="main"]/footer/div[1]/div[2]/div/div[2]').send_keys(joke)
driver.find_element_by_xpath('//*[@id="main"]/footer/div[1]/div[3]/button/span').click()
time.sleep(10)
time.sleep(30)
driver.close()
在python中使用selenium和chrome webdriver访问WhatsApp网站时,是否有任何whatsapp或webdriver API无需每次扫描QR码即可访问它?
你的 "WhatsApp" 和 "QR Code" 没有告诉我任何信息,但是如果你正在测试需要额外操作才能登录的应用程序,我认为你将无法使用 Selenium 执行它,因为它是 浏览器 自动化框架。
Web 应用程序通过包含 client-side 信息的 Cookies - special HTTP Headers 来识别用户。当您通过 Selenium 绑定启动 Web 浏览器时 - 它会启动一个 clean 浏览器会话,该会话未在 "WhatsApp"(无论它是什么)
中进行身份验证解决方案在:
- 手动在 WhatsApp 中进行身份验证,将您的浏览器配置文件存储在某处,然后通过将其指向较早的配置文件文件夹来启动 Selenium
- 在 WhatsApp 中手动验证,store your browser cookies and use WebDriver.add_cookie() 函数将存储的 cookie 读入当前干净的会话中
您可以使用 "pywhatkit"
。 pywhatkit
用于使用whatsapp web 发送消息。 运行:
pip install pywhatkit
一切顺利。
This is What you need. This code Read QR and store it in cookies
import time
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
jokes = ["You don't need a parachute to go skydiving. You need a parachute to go skydiving twice.",
"This is Test Message."]
options = Options()
options.add_argument("--user-data-dir=chrome-data")
options.add_experimental_option("excludeSwitches", ["enable-automation"])
options.add_experimental_option('useAutomationExtension', False)
driver = webdriver.Chrome('/usr/local/bin/chromedriver', options=options)
driver.maximize_window()
driver.get('https://web.whatsapp.com') # Already authenticated
time.sleep(20)
##################### Provide Recepient Name Here ###############################
driver.find_element_by_xpath("//*[@title='MyJakartaNumber']").click()
for joke in jokes:
driver.find_element_by_xpath('//*[@id="main"]/footer/div[1]/div[2]/div/div[2]').send_keys(joke)
driver.find_element_by_xpath('//*[@id="main"]/footer/div[1]/div[3]/button/span').click()
time.sleep(10)
time.sleep(30)
driver.close()