我正在嘗試使用子行程運行多個 Python 腳本。作為一個試驗,我只是想看看一個腳本是否會運行。該腳本當前位于桌面上。我正在使用 Spyder 運行我的腳本。我使用以下代碼運行我的腳本:
import subprocess
subprocess.run(
"python3 script1.py",
cwd=r'C:\Users\David\Desktop',
shell=True,
)
我運行它時沒有收到任何錯誤,但 script1.py 本身沒有運行。我知道這一點是因為 script1.py 是一個硒代碼,它應該從網站下載檔案,但當我使用上面的代碼時它不會下載檔案。關于可能出現什么問題的任何想法?
如果你想自己測驗一下。這是script1.py:
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
options=Options()
options.add_argument("--headless")
driver=webdriver.Chrome(options=options)
params={'behavior':'allow','downloadPath':r'C:\Users\David\Downloads'}
driver.execute_cdp_cmd('Page.setDownloadBehavior',params)
driver.get("https://data.gov.uk/")
WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "/html/body/div[3]/main/div[2]/form/div/div/input"))).send_keys("Forestry Statistics 2018: Recreation")
WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "/html/body/div[3]/main/div[2]/form/div/div/div/button"))).click()
WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "/html/body/div[3]/form/main/div/div[2]/div[2]/div[2]/h2/a"))).click()
WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "/html/body/div[3]/main/div/div/div/section/table/tbody/tr[2]/td[1]/a"))).click()
uj5u.com熱心網友回復:
嘗試:
import subprocess
subprocess.run(["python3", "C:/Users/David/Desktop/script1.py"], shell=True)
編輯:我用過Popen這樣的,它似乎作業正常。試試Popen也許:
subprocess.Popen(["python3", "C:/Users/David/Desktop/script1.py"], shell=True)
Edit2:問題已通過更改python3為python.
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/466298.html
標籤:Python python-3.x 硒 子进程
