【发布时间】:2019-09-28 01:17:54
【问题描述】:
当我将鼠标悬停在元素上时,它会在 HTML 代码中显示表格 但是当我滚动时,广告再次尝试悬停,它不起作用? 任何帮助
from selenium import webdriver
import time
from selenium.webdriver.common.action_chains import ActionChains
driver = webdriver.Chrome()
driver.maximize_window()
driver.implicitly_wait(0)
url = 'https://public.tableau.com/views/IRENA_Decentralised_RE_Data_Review_2019/ExploreData?:showVizHome=no'
driver.get(url)
time.sleep(3)
for i in range(10000):
element = driver.find_element_by_xpath("//div[@class='tab-tvScrollY tvimages'][./div[@class='tvimagesContainer' and @style]]")
driver.execute_script('arguments[0].scrollTop = (0,{})'.format(str(i*49)),element)
actions = ActionChains(driver)
actions.move_by_offset(1330,200).perform()
time.sleep(3)
【问题讨论】:
-
你要提取什么数据?
-
鼠标悬停时出现在 HTML 代码中的数据,出现国家、工厂/项目名称等表格。
-
@Kafels 但我还有另一个问题,这无法从 People 和 Household 列中获取数据,您能帮我解决这个问题吗?
-
“人和家庭”数据覆盖在画布中,我搜索过从中提取数据,但没有成功。其他方式是以 PDF 格式导出表格并尝试使用一些库,如
tabula-py、PyPDF2、[...] 将 PDF 转换为 Dataframe 我使用tabula-py做了一些测试,但并不完全成功 -
@Kafels 好的,我明白了,我会努力想办法,但我觉得做不到。感谢您的宝贵时间
标签: python selenium selenium-webdriver hover mousehover