嘿,我正在尝试制作一个自动程序来发送Whatsapp消息。 我目前正在使用python,Firefox和Selenium来实现这一点。 问题是每次我调用driver.get(url)
时,它都会打开 Firefox 浏览器的新实例,空白,没有上次运行的记忆。它让我每次运行它时都扫描条形码。
from selenium import webdriver
from selenium.webdriver.firefox.webdriver import FirefoxProfile
cp_profile = webdriver.FirefoxProfile("/Users/Hodai/AppData/Roaming/Mozilla/Firefox/Profiles/v27qat5d.whatsapp_profile")
driver = webdriver.Firefox(executable_path="/Users/Hodai/Desktop/geckodriver",firefox_profile=cp_profile)
driver.get('http://web.whatsapp.com')
#Scan the code before proceeding further
input('Enter anything after scanning QR code')
我尝试使用配置文件,但似乎没有影响。
cp_profile = webdriver.FirefoxProfile("/Users/Hodai/AppData/Roaming/Mozilla/Firefox/Profiles/v27qat5d.whatsapp_profile")
driver = webdriver.Firefox(executable_path="/Users/Hodai/Desktop/geckodriver",firefox_profile=cp_profile)
最后,我使用chromedriver来实现我的目标。 我尝试了泡菜饼干,但这有点棘手,因为它只记得同一域的饼干。 所以我将用户数据用于 chrome。 现在它就像一个魅力。谢谢大家。
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
options = Options()
options.add_argument("user-data-dir=C:/Users/Designer1/AppData/Local/Google/Chrome/User Data/Profile 1")
driver = webdriver.Chrome(chrome_options=options,executable_path="C:webdriverschromedriver.exe")
我认为最简单的方法是在扫描二维码后保存您的 cookie 并手动将它们推送到 Selenium。
# Load page to be able to set cookies
driver.get('http://web.whatsapp.com')
# Set saved cookies
cookies = {'name1': 'value1', 'name2', 'value2'}
for name in cookies:
driver.add_cookie({
'name': name,
'value': cookies[name],
})
# Load page using cookies
driver.get('http://web.whatsapp.com')
要获取您的 cookie,您可以使用控制台 (F12),网络选项卡,右键单击请求,复制 => 复制请求标头。
不应该是那样的。它仅在使用新变量初始化或程序再次启动时打开新窗口。这是铬的代码。不管你调用多少次driver.get(url)
它会在同一个浏览器窗口中打开网址
from selenium import webdriver
import selenium.webdriver.support.ui as ui
from selenium.webdriver.common.keys import Keys
from selenium.common.exceptions import NoSuchElementException
from selenium.webdriver.common.by import By
import time
driver = webdriver.Chrome(executable_path=r"C:newchromedriver.exe")
driver.get('https://www.olx.com.pk/lahore/apple/q-iphone-6s/?search%5Bfilter_float_price%3Afrom%5D=40000&search%5Bfilter_float_price%3Ato%5D=55000')
time.sleep(10)
driver.get('https://www.olx.com.pk/lahore/apple/q-iphone-6s/?search%5Bfilter_float_price%3Afrom%5D=40000&search%5Bfilter_float_price%3Ato%5D=55000')
time.sleep(10)
driver.get('https://www.olx.com.pk/lahore/apple/q-iphone-6s/?search%5Bfilter_float_price%3Afrom%5D=40000&search%5Bfilter_float_price%3Ato%5D=55000')
time.sleep(10)
让我知道问题是否已解决或您正在尝试执行其他操作。