簡體   English   中英

通過 PHP 運行 Python Selenium 腳本

[英]Running Python Selenium Script through PHP

我有一個 PHP 腳本,它執行包含 Selenium 的 python 腳本。

$command = escapeshellcmd("/home/clouduser/bots/telegram/send_alerts");
$output = shell_exec($command); 
echo $output; 

Selenium 在 php 之外運行時工作得很好,當 python 腳本通過 ZE1BCFD762328E409CEE6 執行時,我只收到以下錯誤

我已將文件夾權限設置為 777,並將組設置為 www-data。

Traceback (most recent call last):
  File "/home/clouduser/bots/telegram/send_alerts/main.py", line 35, in <module>
    selenium()
  File "/home/clouduser/bots/telegram/send_alerts/main.py", line 27, in selenium
    driver = webdriver.Chrome(executable_path='/home/clouduser/bots/telegram/send_alerts/chromedriver', options=options) 
  File "/home/clouduser/bots/telegram/send_alerts/lib/python3.8/site-packages/selenium/webdriver/chrome/webdriver.py", line 73, in __init__
    self.service.start()
  File "/home/clouduser/bots/telegram/send_alerts/lib/python3.8/site-packages/selenium/webdriver/common/service.py", line 98, in start
    self.assert_process_still_running()
  File "/home/clouduser/bots/telegram/send_alerts/lib/python3.8/site-packages/selenium/webdriver/common/service.py", line 109, in assert_process_still_running
    raise WebDriverException(
selenium.common.exceptions.WebDriverException: Message: Service chromedriver unexpectedly exited. Status code was: 1

我正在使用的代碼是:

#!/home/clouduser/bots/telegram/send_alerts/bin/python3.8 
from selenium import webdriver
import time

def selenium():
    options = webdriver.ChromeOptions()
    options.add_argument('--headless')
    options.add_argument('--no-sandbox')
    options.add_argument("--window-size=1920,1080")
    options.add_argument("--start-maximized")
    options.add_argument("--disable-extensions")
    driver = webdriver.Chrome(executable_path='/home/clouduser/bots/telegram/send_alerts/chromedriver', options=options) 
    driver.get ("https://google.com") 
    time.sleep(5)
    print(driver.title)
    driver.quit()
    return selenium
 
selenium()

如前所述,單獨運行 python 文件可以完美運行。

感謝您的幫助,謝謝!

嘗試使用 pip3 安裝 selenium。 像這樣。

sudo pip3 install selenium

'研究':

我遇到過同樣的問題。 使用“try”和“except”(並打印錯誤)幫助我確定了問題。 輸出的錯誤是:

No module named 'selenium'

因此必須安裝 selenium(已經用 pip 安裝)。 使用 pip3 試一試,它可以工作。 不知道為什么。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM