【问题标题】:How to pass arguments in python exe files?如何在 python exe 文件中传递参数?
【发布时间】:2020-07-09 19:27:44
【问题描述】:

我为以下代码创建了 .exe。我创建了 /dist 现在尝试执行 .exe 但什么也没发生。请建议如何进行或我做错了什么?是否可以使用 .exe 执行以下代码。请提出建议。

from selenium import webdriver  
from time import sleep  
import sys  

driver = webdriver.Firefox()  # To connect to web browser use webdriver imported from selenium
driver.get('https://web.whatsapp.com/')

name = sys.argv[1]
msg = sys.argv[2]
filepath = sys.argv[3]


def whatsapp(name, msg="", filepath=""):

    input('Enter anything after scanning QR code')

    user = driver.find_element_by_xpath('//span[@title = "{}"]'.format(name))
    user.click()

    if msg != "":
        msg_box = driver.find_element_by_xpath("//*[@id='main']/footer/div[1]/div[2]/div/div[2]")
        msg_box.send_keys(msg)  # To send message

        button = driver.find_element_by_xpath("//*[@id='main']/footer/div[1]/div[3]/button")
        button.click()  # click send button

    if filepath != "":
        attachment_box = driver.find_element_by_xpath('//div[@title = "Attach"]')
        attachment_box.click()  # click attachment icon button

        image_box = driver.find_element_by_xpath(
        '//input[@accept="image/*,video/mp4,video/3gpp,video/quicktime"]')
        image_box.send_keys(filepath)  # To send filepath

        sleep(3)  # use to set delay time of 3 sec. It will first find the image box,

        send_button = driver.find_element_by_xpath('//span[@data-testid="send"]')
        send_button.click()  # click send button


if name != "":
    whatsapp(name, msg, filepath)  # parameters are passed at run time using sys.argv

    if msg != "" and filepath == "":
        print("Only message sent successfully")
    elif msg == "" and filepath != "":
        print("Only attachment sent successfully")
    elif msg == "" and filepath == "":
        print("Both message and attachment not sent")
    else:
        print("Both message and attachment sent successfully")
else:
    print("name or group name cannot be empty")

【问题讨论】:

    标签: python selenium argv


    【解决方案1】:

    after compiling python program, how to input arguments 可能重复

    以上链接对ashwinjv的回答

    如果你点击exe打开它: 通常,当您双击 exe 时,只有一个参数是 <EXEfilename>。为该 exe 创建一个快捷方式。在该快捷方式的属性中,您将看到一个名为 Target 的属性,其中包含 <EXEfilename> 将其更改为 <EXEfilename> <arg1> <arg2>。当你使用这个快捷方式打开exe时,它会调用目标,也就是这个调用<EXEfilename> <arg1> <arg2>。然后您可以使用 sys.argv 访问 arg1 和 arg2 如果你使用命令行: 就叫它C:\> <EXEfilename> <arg1> <arg2>

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-06-26
      • 1970-01-01
      • 2017-04-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-04-01
      相关资源
      最近更新 更多