(Python) Как правильно создать искомый числовой элемент bitcoin? (с браузером без головы chrome) - PullRequest
0 голосов
/ 01 мая 2020

пытался написать простого bitcoin бота, который будет публиковать в группе WhatsApp цену bitcoin каждый час или минуту, просто интересный проект, который я хотел бы узнать больше о Python.

В любом случае, мне нужно, чтобы браузер работал без монитора, чтобы я мог оставить свой браузер WhatsApp открытым, чтобы он мог бездействовать, отправляя сообщения, пока меня нет, не уверен, что есть лучшее решение для этого, но я могу понять, это позже. Сейчас у меня проблемы с корректным просмотром веб-страницы ценового элемента bitcoin на сайте coindesk.com. Когда я использую:

    driver = Chrome(webdriver)
    url = "https://www.coindesk.com/price/bitcoin"
    driver.get(url)

    #getting price list class
    time.sleep(3)
    prices = driver.find_elements_by_class_name("price-large")
    number = prices[0]
    text = number.text

, это получается просто отлично. У меня также был некоторый дополнительный код, чтобы просто заменить любые символы или пробелы на пустые символы, но это не обязательно.

Но я пытался запустить его без головы, поэтому я сейчас пытаюсь:

import time
import os
import webdriverplus

chrome_options = Options()
chrome_options.add_argument("--headless")
chrome_options.add_argument("--window-size=1920x1080")
chrome_driver = os.getcwd() +"\\chromedriver.exe"
print(chrome_driver)


while True:
    driver = webdriverplus.Chrome(chrome_options=chrome_options, executable_path=chrome_driver)
    url = "https://www.coindesk.com/price/bitcoin"
    driver.get(url)

    #getting price list class
    time.sleep(2)
    prices = driver.find_element_by_class_name("price-large")
    number = prices[0]
    text = number.text

    #get rid of unecessary symbols
    if '$' in text:
        text = text.replace('$',"")
        text = text.replace('\n',"")
        print(text)
    driver.quit()

но это дает мне:

Traceback (most recent call last):
  File "C:/Users/PC/.PyCharmCE2018.3/config/scratches/bitcoinbot.py", line 21, in <module>
    number = prices[0]
KeyError: 0

Если есть более элегантный способ решения этой проблемы, я буду рад любой помощи, которую смогу получить. Спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...