I am trying to scrape data which is generated dynamically from mouseover events.
I want to capture the information from the Hash Rate Distribution chart from
https://slushpool.com/stats/?c=btc which is generated when you scroll over each circle.
The code below gets the html data from the website, and returns the table which is filled once the mouse passes over a circle. However, I have not been able to figure out how to trigger the mouseover event for each circle to fill the table.
from lxml import etree
from xml.etree import ElementTree
from selenium import webdriver
driver_path = "#Firefox web driver"
browser = webdriver.Firefox(executable_path=driver_path)
browser.get("https://slushpool.com/stats/?c=btc")
page = browser.page_source #Get page html
tree = etree.HTML(page) #create etree
table_Xpath = '/html/body/div[1]/div/div/div/div/div[5]/div[1]/div/div/div[2]/div[2]/div[2]/div/table'
table =tree.xpath(table_Xpath) #get table using Xpath
print(ElementTree.tostring(table[0])) #Returns empty table.
#Should return data from each mouseover event
Is there a way to trigger the mouseover event for each circle, then extract the generated data.
Thank you in advance for the help!
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…