通过PHP运行Python Selenium Script



我有一个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文件可以完美地工作。

我感谢任何帮助,谢谢!

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

sudo pip3 install selenium

"研究":

我也有同样的问题。使用"try"one_answers"except"(并打印错误)帮助我识别问题。输出的错误是:

No module named 'selenium'

因此必须安装selenium(已经与pip一起安装)。用pip3试了一下,效果不错。不知道为什么。 编辑:如果它不起作用。PHP可能在不同的环境中运行python。考虑在php脚本中运行它(只需要一次)

echo shell_exec('pip3 install selenium');

最新更新