用 selenium 获取鼠标悬浮弹框文本
场景说明
以https://blog.csdn.net/weixin_44447687 页面为例,这里的访问量如果用设计器里面的“获取文本”组件,我们只能获取到“4 万 +”,此时我们将鼠标放上去,可以看到此时显示的是实际的访问数量,用“获取文本”组件先关闭拾取,再打开拾取开关,我们发现按 F2 以后虚浮弹窗就消失了,那么我们该如何获取这个实际的数量呢?
解决思路
此时我们看一下这一部分的网页源代码,看一下这个地方的实际数据是以什么样的方式展现的
通过此部分的网页源码可以看出,实际数据“49674”是 dd 中 title 元素的 value,那么此时“获取文本”组件已经获取不到了,我们就需要 selenium 来帮忙
源代码
废话不多说,上代码 ~
from selenium import webdriver
def get_element_value(url="",css_selector="",ele="",chrome_driver_path=""):
driver = webdriver.Chrome(chrome_driver_path)
driver.get(url)
attribute = driver.find_element_by_css_selector(css_selector).get_attribute(ele)
return attribute
此时我们可以看到,可以成功获取到 title 的值。
入参变量说明:
url:网址
css_selector:要获取的元素实际css_selector获取到的路径(可使用获取文本组件拾取后,将body开头的路径复制下来)
ele:想要获取的元素的value,若此处我们要获取title,那么这里我们入参"title"
chrome_driver_path:webdriver驱动路径,我这里使用的是谷歌浏览器v75对应的driver,如果需要谷歌各版本请通过http://chromedriver.storage.googleapis.com/index.html 进行下载,在每个目录里面的notes.txt里面写有适用的版本
PS:如果有其他更好的方法欢迎回帖,若帖子中存在错误也可以回帖指正,蟹蟹大家 ~
蟹蟹大哥夸奖 ~ 小弟不才,学艺不精,改天把爬虫学到位了出全系列 😂
很好啊 ~ 可以写一个爬虫系列