我有一个 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”和“except”(并打印错误)帮助我确定了问题。输出的错误是:
No module named 'selenium'
因此必须安装 selenium(已经安装了 pip)。使用 pip3 试一试,它可以工作。不知道为什么。