python - 每次我提交时,Web UI 中的 Selenium 类都会被调用

标签 python selenium

我已经用Python从终端制作了whatsappbot,所以我想从网络制作UI,但每次html表单发布时,它总是打开新的chromeWebdriver,因为我声明了WhatsappBot (),如何才能只调用该类一次,并且当 html 发布时,它只从类中调用方法而不打开 Web 驱动程序

post = form.getvalue('postx') if form.getvalue('postx') else ''
arg1 = form.getvalue('arg1') if form.getvalue('arg1') else ''
arg2 = form.getvalue('arg2') if form.getvalue('arg2') else ''

whatsapp = WhatsappBot.WhatsappBot()
whatsapp.openWhatsAppWeb()

if arg2 != '':
    whatsapp.setPenerima(arg1)
    whatsapp.kirimPesan(arg2)

print("""
    <html>
<head>
    <title>WhatsApp Bot</title>
</head>

<body>
    <div>
        <h2><b>Petunjuk Penggunaan:</b></h2>
        <p>1. Scan QR Code pada Whatsapp web<br />
            2. Pilih nama penerima, atau centang semua kontak jika pesan boardcast<br />
            3. Masukkan Pesan yang akan dikirim<br />
            4. Klik tombol " Kirim " untuk mengirim pesan<br />
            """+arg1+"""
        </p>
    </div>
    <form action="#" method="POST">
       <div class="formPost">
        .....
    </form>

最佳答案

我不确定,但单例模式可能会有所帮助

from singleton_decorator import singleton

@singleton
class SingletonWhatsappBot(WhatsappBot.WhatsappBot):
    pass

关于python - 每次我提交时,Web UI 中的 Selenium 类都会被调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58795563/

相关文章:

python - 减少从 MongoDB 加载 Pandas 数据帧所用的内存

python - 编码标准 : Should one always write 'return' at the end of every method or function?

java - Selenium 拖放不适用于 Action 方法,有什么替代方法吗

javascript - Python Selenium 按钮未被点击

selenium - 在 puppeteer 中更改 window.navigator 以绕过反机器人系统

python - Tkinter Frame 使用 super() 实例化。为什么我不能将 Label 小部件设为其子部件?

python - pandas 重新索引多列

javascript - 测试未遵守 "beforeEach"内的超时

python - python 对象实例化失败

python - Geckodriver 错误 : "FirefoxWebElement has no len()"