如何在Python中使用Selenium找到onmouseover元素?

Gia*_*nou 1 javascript python selenium

我试图刮一个网站,有一个元素,如果你将鼠标移到它上面,它会在一个气泡中显示一些信息.我正在使用Selenium来抓取页面,但我不知道如何找到特定元素.

看看页面的来源,我得到了这个:

<td class="right odds up"><div onmouseout="delayHideTip()" onmouseover="page.hist(this,'P-0.00-0-0','1sj0oxv464x0x3pm6i',14,event,0,1)">
Run Code Online (Sandbox Code Playgroud)

提供一些细节,以下是我要抓的页面:匹配页面.当您将鼠标移到箭头和数字上时,会出现一个包含某些内容的矩形.这就是我想要的.

小智 7

我会按照以下步骤来解决给定的问题:

from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
driver = webdriver.Firefox()
driver.get("Your URL HERE")
Run Code Online (Sandbox Code Playgroud)

找到你的元素(你想要悬停)

data = driver.find_element_by_xpath('//*[@id="odds-data-table"]/div[1]/table/tbody/tr[2]/td[4]')
Run Code Online (Sandbox Code Playgroud)

之后悬停在元素上

hov = ActionChains(driver).move_to_element(data)
hov.perform()
Run Code Online (Sandbox Code Playgroud)

并获取数据

data_in_the_bubble = driver.find_element_by_xpath("//*[@id='tooltiptext']")
hover_data = data_in_the_bubble.get_attribute("innerHTML")
Run Code Online (Sandbox Code Playgroud)