python - 为什么鼠标悬停数据消失
问题描述
当我将鼠标悬停在元素上时,它会在 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)
解决方案
花了三个小时终于搞定了!
这是一些 Tableau 行为hover
无法正常工作,无法说明原因。
下面是我的代码,解释了我为悬停所有行所做的事情。
import time
from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
driver = webdriver.Chrome(executable_path='./chromedriver')
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(2)
scroll = driver.find_element_by_xpath("//div[@class='tab-tvScrollY tvimages']"
"[./div[@class='tvimagesContainer' and @style]]")
column = driver.find_elements_by_xpath("//canvas[@class='tabCanvas tab-widget']")[1]
action = ActionChains(driver)
for i in range(10000):
driver.execute_script('arguments[0].scrollTop = (0,%s)' % str(i * 49), scroll)
# Move cursor to hover element
action.move_to_element_with_offset(column, 0, 0).perform()
# Select HTML table
table = driver.find_element_by_xpath("//div[@class='tab-tooltip tab-widget "
"tab-tooltipBL tab-allowMouseEventPassthrough']")
# Your selenium code to extract HTML content [...]
# Move cursor to reset tableau hover function behavior
action.move_to_element(scroll).perform()
希望能帮助到你!
推荐阅读
- spring - 通过HTML表单上传文件,但调试后端控制器时文件不存在
- python - 通过聚合布尔值过滤 Pandas 数据帧
- java - 我需要帮助来编写一个找到序列中两个整数之间最大差异的代码
- java - 第 n 个位置的 Java 字符串分段
- powershell - PowerShell 使用 -Parallel 参数切换条件语句
- php - 谁能告诉我如何在使用跟踪像素时消除跨源读取阻塞 (CORB) 错误?
- python - Python cmd 和 do_shell (!) 实现,我可以使用 shell 循环 python 命令吗?
- android-studio - 执行签名报告后如何运行我的应用程序?
- stripe-payments - Stripe 源在 3ds 付款后仍然可用
- firebase - 应用关闭时 Firebase 消息无法收到通知(React Native)