selenium+python自动化104-如何获取隐藏元素text文本

selenium+python自动化104-如何获取隐藏元素text文本,第1张

概述前言首先selenium是可以定位到隐藏元素的,但是selenium不能跟隐藏元素交互,也就是隐藏元素element不能使用element.click()方法。隐藏元素element.text虽然不会报错,但获取到的文本是空值隐藏元素定位登录之后,获取个人中心的账号内容,在页面上没显示,f12能看到,很明显这是个隐 前言

首先 selenium 是可以定位到隐藏元素的,但是 selenium 不能跟隐藏元素交互,也就是隐藏元素element不能使用element.click()方法。
隐藏元素element.text 虽然不会报错,但获取到的文本是空值

隐藏元素定位

登录之后,获取个人中心的账号内容,在页面上没显示,f12能看到,很明显这是个隐藏元素

from selenium import webdriverimport time# 作者-上海悠悠 QQ交流群:717225969# blog地址 https://www.cnblogs.com/yoyoketang/driver = webdriver.Chrome()driver.get("http://49.235.x.xx:8200/users/login/")time.sleep(3)# 先登录time.sleep(3)driver.find_element_by_ID("username").send_keys("[email protected]")driver.find_element_by_ID("password_l").send_keys("123456")driver.find_element_by_ID("JsLoginBtn").click()time.sleep(2)# 隐藏元素定位yoyo = driver.find_element_by_CSS_selector(".userdetail")print(yoyo)# 获取文本print(yoyo.text)

结果返回

<selenium.webdriver.remote.webelement.WebElement (session="d705909d146a26f88883e7f8c493de9b", element="1bb6cc1f-f205-482e-a0aa-bd7b5e923a9d")>

很明显隐藏元素能定位到,但是获取的文本值是空的(隐藏元素不能交互)

JavaScript 获取隐藏元素文本

selenium 的方法不能 *** 作隐藏元素,但是 JavaScript 是可以直接 *** 作隐藏元素的,先在浏览器上调试

document.querySelector('.userdetail p').innerText

于是可以用 selenium 执行 JavaScript 脚本来获取隐藏元素的 text

from selenium import webdriverimport time# 作者-上海悠悠 QQ交流群:717225969# blog地址 https://www.cnblogs.com/yoyoketang/driver = webdriver.Chrome()driver.get("http://49.235.x.xx:8200/users/login/")time.sleep(3)# 先登录time.sleep(3)driver.find_element_by_ID("username").send_keys("[email protected]")driver.find_element_by_ID("password_l").send_keys("123456")driver.find_element_by_ID("JsLoginBtn").click()time.sleep(2)Js = "return document.querySelector('.userdetail p').innerText"text = driver.execute_script(Js)print(text) # [email protected]

这是通过 JavaScript 的方法获取的,其实也可以通过鼠标 *** 作的方法,鼠标放到元素的位置上,让隐藏元素显示出来,就可以正常 *** 作了。

总结

以上是内存溢出为你收集整理的selenium+python自动化104-如何获取隐藏元素text文本全部内容,希望文章能够帮你解决selenium+python自动化104-如何获取隐藏元素text文本所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1189353.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-03
下一篇 2022-06-03

发表评论

登录后才能评论

评论列表(0条)

保存