python - 如何使用 selenium 使 chrome 浏览器在后台运行
问题描述
我正在尝试自动化我的 WhatsApp 以使用 pyautogui 批量发送消息。我能够发送它们,但是对于每条消息,都会弹出一个新标签,并且我的工作会受到干扰。如何让 WhatsApp 网页标签在后台或其他窗口中运行而不影响我的工作?这是我的代码。我收到一个错误:
TypeError Traceback (most recent call last)
<ipython-input-1-3555dd798e71> in <module>
10 chrome_options.add_argument("--headless")
11
---> 12 driver = webdriver.Chrome(executable_path=r"C:/Users/AB/chromedriver", chrome_options=Options)
13
14 data = pd.read_excel("C:/Users/AB/Desktop/contacts2.xlsx")
C:\anaconda\lib\site-packages\selenium\webdriver\chrome\webdriver.py in __init__(self, executable_path, port, options, service_args, desired_capabilities, service_log_path, chrome_options, keep_alive) 62 else:
63 if desired_capabilities is None:
---> 64 desired_capabilities = options.to_capabilities()
65 else:
66 desired_capabilities.update(options.to_capabilities())
**TypeError: to_capabilities() missing 1 required positional argument: 'self'**
这是更新的代码:
import pyautogui as pg
#import webbrowser as web
import time
import pandas as pd
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
chrome_options = Options()
chrome_options.add_argument("--headless")
driver = webdriver.Chrome(executable_path=r"C:/Users/AB/chromedriver", chrome_options=Options)
data = pd.read_excel("C:/Users/AB/Desktop/contacts2.xlsx")
data_dict = data.to_dict('list')
leads = data_dict['contact']
messages = data_dict['msg']
combo = zip(leads,messages)
first = True
for lead,message in combo:
time.sleep(6)
driver.get("https://web.whatsapp.com/send?phone="+lead+"&text="+message)
if first:
time.sleep(8)
first=False
width,height = pg.size()
pg.click(width/2,height/2)
time.sleep(8)
pg.press('enter')
time.sleep(8)
pg.hotkey('ctrl', 'w')```
解决方案
要运行 chrome-headless,只需在 chrome_options.add_argument 中添加 --headless,即:
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
chrome_options = Options()
chrome_options.add_argument("--headless")
在这种情况下,您将看不到 chrom 窗口。
推荐阅读
- java - cmd中的“java -version”没有结果
- python - Python中的圆和弦图
- c# - 如何处理与 HttpClient 的并发冲突?
- macos - 无法在 MacOS 上使用 gfortran 在 makefile 中链接 BLAS 和 LAPACK
- scope - 在 Coq 中模拟全局和局部变量
- python - 从字典和字符串格式创建表 - Python
- powershell - Powershell - 删除过滤文件夹中的文件
- abp - abp 套件导航属性不起作用
- java - 在多模块Maven项目中共享集成测试
- django - React Native Apollo + Django:网络请求失败