#python #selenium #flask #web #selenium-chromedriver
Вопрос:
Я использую selenium с python и получаю этот код выхода. Запуск от имени root отлично работает с помощью PuTTY, но запуск с использованием os.system в файле flask, запущенном в apache, не работает. Я думаю, это потому, что он работает от имени пользователя www-data[33], но я дал разрешения на выполнение и не могу найти причину, по которой он не должен работать для www-данных[33]. Вот мой код:
import selenium
from bs4 import BeautifulSoup, NavigableString
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from datetime import date
import sys
today = date.today()
global todaydate
todaydate = today.strftime("%m/%d/%y")
list = []
def getargs(a):
arg = str(a)
print(arg)
list.append(arg)
if __name__ == "__main__":
getargs((sys.argv[1]))
options = webdriver.ChromeOptions()
options.add_argument("--no-sandbox")
options.add_argument("--headless")
options.add_argument("start-maximized")
options.add_argument("window-size=1900,1080")
options.add_argument("disable-gpu")
options.add_argument("--disable-software-rasterizer")
options.add_argument("--disable-dev-shm-usage")
options.add_argument('user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.107 Safari/537.36 Edg/92.0.902.62')
#driver = webdriver.Chrome(executable_path='/usr/bin/chromedriver', options=options, service_args=["--verbose", "--log-path=test.log"])
driver = webdriver.Chrome(executable_path='/usr/bin/chromedriver', options=options)
for url in URLS:
driver.get(url)
innerHTML = driver.page_source
soup = BeautifulSoup(innerHTML, "html.parser")
iteminfo = []
for i in soup.select("#ELEMENT):
global ELEMENT
ELEMENT= i.text
print(ELEMENT)