小编典典

通过 PHP 运行 Python Selenium 脚本

php

我有一个 PHP 脚本,它执行一个包含 Selenium 的 python 脚本。

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

Selenium 在 php 之外运行时工作得很好,当通过 php 执行 python 脚本时,我只会收到以下错误。

我已将文件夹权限设置为 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 文件可以完美运行。

感谢您的帮助,谢谢!


阅读 236

收藏
2022-07-25

共1个答案

小编典典

尝试使用 pip3 安装 selenium。像这样。

sudo pip3 install selenium

‘研究’:

我遇到过同样的问题。使用“try”和“except”(并打印错误)帮助我确定了问题。输出的错误是:

No module named 'selenium'

因此必须安装 selenium(已经安装了 pip)。使用 pip3 试一试,它可以工作。不知道为什么。

2022-07-25