Como dice el título, actualmente estoy tratando de adquirir un valor dinámico. Estoy perdido porque originalmente estaba usando una sopa hermosa y descubrí que el valor era dinámico. Así es como se determinan los valores
.call({from: from}) .then(function(res) { console.log("Node Price (Wei AVAX): " + res); const avax = Number(Web3.utils.fromWei(res, 'ether')); console.log("Node Price (AVAX): " + avax); const items = document.querySelectorAll(".node-info-price-avax"); items.forEach(i => { i.innerHTML = avax.toFixed(2) + " AVAX"; }); })Entonces así es como se muestra,
<span class="node-info-price-avax">27.88 AVAX</span>He estado viendo tutoriales y leyendo guías todo el día y, por mi amor, no puedo descubrir cómo adquirir dicho valor.
Encontré un video bastante detallado que hizo exactamente lo que estaba buscando. La solución fue encontrar los datos que necesitaba y copiar el xpath usando find_element , luego lo agregué a una lista y usé pandas para que se viera bonito. Aquí está el código terminado:
from selenium import webdriver import pandas as pd PATH = "C:\Program Files (x86)\chromedriver.exe" driver = webdriver.Chrome(PATH) driver.get("https://playa3ull.games") node_data = driver.find_elements_by_class_name('wpb_wrapper') data_list = [] for data in node_data: node_price = data.find_element_by_xpath('//*[@id="pb-node-info-table"]/tbody/tr[6]/td[2]/span[1]').text nodes_sold = data.find_element_by_xpath('//*[@id="pb-node-info-table"]/tbody/tr[3]/td[2]').text token_price = data.find_element_by_xpath('//*[@id="pb-node-info-table"]/tbody/tr[6]/td[2]/span[2]').text data_item = { 'Node Price': node_price, 'Nodes Sold': nodes_sold, 'Token Price': token_price } data_list.append(data_item) df = pd.DataFrame(data_list) df_last = df[-1] print(df_last)Aquí está el enlace para una explicación más detallada: youtube.com/watch?v=lTypMlVBFM4