Запуск приложений не запустить мой скрипт

Я добавляю элемент в приложения для запуска следующим образом: Edit Start up Program

Я повторяю команду здесь, для вашего удобства:

gnome-terminal --command "sleep 30;export PATH=$PATH:/home/erik/Downloads/geckodriver_dir;python ~/Dropbox/BashScripts/fjucheckin.py"

Ожидается, что после того, как я войдите в мой офис и включите мой ноутбук, чтобы открыть терминал gnome, затем запустите скрипт python fjucheckin.py, чтобы открыть окно Firefox, а затем автоматически зарегистрируйтесь от моего имени, а затем дождитесь, когда я нажму ключ, чтобы закрыть Firefox окно. Но оказывается, что не появляется окно gnome-terminal или Firefox.

После этого я запускаю всю указанную выше команду gnome-terminal --command "sleep 30;export PATH=$PATH:/home/erik/Downloads/geckodriver_dir;python ~/Dropbox/BashScripts/fjucheckin.py" вручную, и терминал появляется и закрывается в течение секунды. Нет окна Firefox.

И я запускаю sleep 30;export PATH=$PATH:/home/erik/Downloads/geckodriver_dir;python ~/Dropbox/BashScripts/fjucheckin.py вручную, и он работает.

Скрипт python fjucheckin.py выглядит следующим образом, если вам это нужно:

#!/usr/bin/env python # -*- coding: utf-8 -*- import time from selenium import webdriver from selenium.webdriver.common.keys import Keys from selenium.webdriver import ActionChains #import org.openqa.selenium.support.ui.Select; from selenium.webdriver.support.ui import Select from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC driver = webdriver.Firefox() driver.implicitly_wait(1000) # seconds driver.get("http://140.136.251.114/Aiamis/Login.aspx") #assert "Python" in driver.title #Account elem = driver.find_element_by_name("ctl00$ContentPlaceHolder$txtAccount") elem.clear() elem.send_keys("...") elem.send_keys(Keys.TAB) assert "No results found." not in driver.page_source #Password elem = driver.find_element_by_name("ctl00$ContentPlaceHolder$txtPwd") elem.clear() elem.send_keys("...") elem.send_keys(Keys.RETURN) assert "No results found." not in driver.page_source #// Get a handle to the open alert, prompt or confirmation WebDriverWait(driver, 1000).until(EC.alert_is_present()) alert = driver.switch_to.alert; #// And acknowledge the alert (equivalent to clicking "OK") alert.accept(); elem = driver.find_element_by_link_text("差勤/日誌填寫"); hover = ActionChains(driver).move_to_element(elem).move_to_element(driver.find_element_by_link_text("專任助理簽到退")); hover.click().perform(); elem = driver.find_element_by_id("ctl00_ContentPlaceHolder_ddlPlanToday") Select(elem).select_by_value("500767"); driver.find_element_by_id("ctl00_ContentPlaceHolder_rdSignType_0").click(); elem = driver.find_element_by_id("ctl00_ContentPlaceHolder_txtTodayOther") elem.clear() description = u"研究資料整理" elem.send_keys(description) driver.find_element_by_id("ctl00_ContentPlaceHolder_btnSignToday").click() #pause raw_input() driver.close()
2
задан 22 January 2018 в 10:38

3 ответа

Включите свои команды в кавычках:

gnome-terminal --command 'bash -c "sleep 30 ; export PATH=$PATH:/home/erik/Downloads/geckodriver_dir ; python ~/Dropbox/BashScripts/fjucheckin.py ; bash"'  

После того, как команда «bash» в конце команд будет закрывать терминал.

0
ответ дан 22 May 2018 в 15:23
  • 1
    Оно работает. Но зачем добавлять bash -c в начале? – user3526273 22 January 2018 в 10:45
  • 2
    Несколько команд не будут работать вообще, если не будет создана другая оболочка. Страница руководства gnome-terminal неясна в отношении использования и поведения команды. – stumblebee 22 January 2018 в 11:05

Включите свои команды в кавычках:

gnome-terminal --command 'bash -c "sleep 30 ; export PATH=$PATH:/home/erik/Downloads/geckodriver_dir ; python ~/Dropbox/BashScripts/fjucheckin.py ; bash"'

После того, как команда «bash» в конце команд будет закрывать терминал.

0
ответ дан 17 July 2018 в 22:30

Включите свои команды в кавычках:

gnome-terminal --command 'bash -c "sleep 30 ; export PATH=$PATH:/home/erik/Downloads/geckodriver_dir ; python ~/Dropbox/BashScripts/fjucheckin.py ; bash"'

После того, как команда «bash» в конце команд будет закрывать терминал.

0
ответ дан 23 July 2018 в 23:08

Другие вопросы по тегам:

Похожие вопросы: