Я строю бота, чтобы печатать призы облигаций от часа к часу. Однако я сталкиваюсь с двумя ошибками:
Поскольку для выполнения задачи требуется время от времени открываться браузер, это ухудшает работу при использовании ноутбука. Есть ли способ сохранить эту задачу в качестве «фонового» правила?
Я использую библиотеку расписаний для установки обновления, но я не совсем уверен, что это правильно (хотя я прочитайте инструкцию). Или установленное время не соблюдается (я установил на 10 минут, а код читается с 5 до 5) или время функции не обновляется (повторяется минуты / часы / секунды).
Код ниже:
import sys
import os
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support import expected_conditions as EC
import time
import datetime
import schedule
clock = datetime.datetime.now()
def preço():
os.chdir('C:/Users/Thiago/Desktop/Backup/Python')
options = webdriver.ChromeOptions()
options.add_experimental_option('useAutomationExtension', False)
driver = webdriver.Chrome(options=options)
driver.get("https://www.google.com/")
elem = driver.find_element_by_name("q")
elem.clear()
elem.send_keys("cvcb3")
time.sleep(1)
elem = driver.find_element_by_name("btnK")
elem.click()
time.sleep(2)
cvcb3 = driver.find_element_by_xpath(".//span[@jsname = 'vWLAgc']")
preço_cvcb3 = open('preço_cvcb3.txt', 'a')
preço_cvcb3.write('O preço da ação da CVC é ' + cvcb3.get_attribute("innerHTML") + ' - Extração feita ás ' + clock.strftime("%I:%M:%S %p") + '.\n')
preço_cvcb3.close()
print('O preço da ação da CVC é ' + cvcb3.get_attribute("innerHTML") + ' - Extração feita ás ' + clock.strftime("%I:%M:%S %p") + '.\n')
driver.close()
schedule.every(1).minutes.do(preço)
while True:
schedule.run_pending()
time.sleep(1)