我正在开发一个 python 脚本来输入一些公司网站并提取我需要的数据。所以我有两种脚本,第一种是执行自动化过程,第二种是“父”脚本,我使用runpy运行第一种脚本和tkinter.simpledialog.askstring询问用户他们的登录名和密码。我面临的问题是我需要存储用户的输入(我收集在我的“父”脚本中)并在我的自动化脚本中使用它。这是我的“父”脚本:
import runpy
import pyautogui
import pyperclip
import tkinter as tk
import tkinter.simpledialog
pyautogui.PAUSE=1
tk.Tk().withdraw()
login=tkinter.simpledialog.askstring("Login","Enter login", show="")
password=tkinter.simpledialog.askstring("Password","Enter password", show="*")
time.sleep(2)
runpy.run_path('path to my automation script')
如您所见,它只是存储用户的输入并运行另一个脚本。下面是另一种类型的脚本,它位于“我的自动化脚本的路径”上。
from selenium import webdriver
import pyforest
import time
import pandas
import openpyxl
import pyautogui
from Parent_Script import login, password
driver=webdriver.Chrome(executable_path='path to chromedriver',options=options)
driver.get('corporative website')
login_website=driver.find_element_by_xpath('//*[@id="txtLogin"]')
login_website.send_keys(login)
password_website=driver.find_element_by_xpath('//*[@id="txtPassword"]')
password_website.send_keys(password)
我正在尝试导入我的父脚本变量登录名和密码,但作为用户,我必须填充 tkinter 对话框两次(我认为第一次填充是因为我运行父脚本而第二次填充是在父脚本运行时自动化脚本,因此它重新运行父脚本来执行变量导入)。有没有更好(或正确)的方法让它有效地工作?