使用 Selenium Python 获取工具提示文本

我正在尝试抓取鼠标悬停时出现的一些动态内容。我已尝试使用 Selenium 中的 ActionChains 进行鼠标移动和悬停操作,但无法获得所需的文本。问题是我无法获取工具提示在 DOM 中的具体位置。我试图通过使用调试器暂停选项来获取它,但该元素在 DOM 中不可见。我还附上了一张截图,其中红色矩形突出显示了我想要抓取的内容。

http://img2.sycdn.imooc.com/646c74150001370106360455.jpg

茅侃侃
浏览 154回答 1
1回答

翻阅古今

在调试器暂停模式下,我们可以为这个工具提示搜索相应的 div。 技巧:进入暂停调试器模式后,在 HTML DOM 中搜索工具提示字符串。见下文:基于上面的 DOM,我使用下面的代码来打印工具提示文本。from selenium import webdriverfrom selenium.webdriver import ActionChainsfrom selenium.webdriver.common.by import Byfrom selenium.webdriver.support.wait import WebDriverWaitdriver = webdriver.Chrome('..\drivers\chromedriver')driver.get("https://www.capterra.com/p/174185/Weave-Accreditation/reviews/")driver.maximize_window()toolTip = WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.XPATH, "//div[starts-with(text(),'Reviewer Source')]/div[contains(@class,'IconWrapper')][1]")))hov = ActionChains(driver).move_to_element(toolTip)txt = hov.perform()tooltipText = WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.XPATH, "//div[@class='tippy-content']"))).textprint(tooltipText)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python