我正在開發一個 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 對話框(我認為第一次填充發生是因為我運行了父腳本,第二次是在父腳本運行時在自動化腳本,并因此重新運行父腳本做可變進口)。有沒有更好(或正確)的方法讓它有效地作業?
uj5u.com熱心網友回復:
在等待答案時,我找到了解決方案。嗯,有點。
我從“父”腳本中洗掉了所有tkinter內容并創建了一個名為“Login_Password”的模塊。這個模塊的整個腳本是:
import tkinter as tk
import tkinter.simpledialog
tk.Tk().withdraw()
login=tkinter.simpledialog.askstring("Login","Enter login", show="")
password=tkinter.simpledialog.askstring("Password","Enter password", show="*")
然后我將我的 Login_Password 模塊從 Python 移動到站點包的路徑,以便能夠將它作為模塊匯入我的自動化腳本中,現在它作業正常。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/383499.html
