python + selenium 获取标签文本的为空解决办法
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python + selenium 获取标签文本的为空解决办法,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1497字,纯文字阅读大概需要3分钟。
内容图文
![python + selenium 获取标签文本的为空解决办法](/upload/InfoBanner/zyjiaocheng/820/7a7e43fdc167494b9c8c6cad989819c3.jpg)
一、确定元素是否被隐藏
link = driver.find_element(*By_xx, 'value').is_displayed() print(link)
如果输出结果为False,说明元素被隐藏了。
二、解决方法
1、修改当前定位元素方式方法(修改定位元素方式,或者修改定位元素的路径等),使用is_displayed()方法定位元素结果为True。
由于webdriver spec的定义,selenium WebDriver只会与课件元素交互,所以获取隐藏元素的文本信息返回为空字符串。
2、通过get_attribute()方法获取元素的文本信息。
在获取隐藏元素的文本信息时,可以使用get_attribute()方法,通过textContent、innerText、innerHTML等属性获取。
innerHTML会返回元素内部的HTML,包含所有的HTML标签。
textContent和innerText置灰得到文本内容,而不会包含HTML标签。textContent是W3C兼容的文字内容属性,但是IE不支持;innerText不是W3C DOM的指定内容,但是FireFox不支持。
from selenium.webdriver.common.by import By from test_case.common.home import Page class CloudMainPage(Page): username_input = (By.ID, 'username') password_input = (By.ID, 'password') loging_button = (By.XPATH, '//*[@id="loginDiv"]/div[1]/div[1]/ul/li[4]/div[1]') loging_result = (By.XPATH, '//*[@id="tuichuxitong"]/span') def user_login(self, username, password): """ 用户登录 :param username: 用户名 :param password: 密码 :return: """ self.find_element(*self.username_input).clear() self.find_element(*self.username_input).send_keys(username) self.find_element(*self.password_input).clear() self.find_element(*self.password_input).send_keys(password) self.find_element(*self.loging_button).click() def login_result(self): return self.find_element(*self.loging_result).get_attribute('innerText')
内容总结
以上是互联网集市为您收集整理的python + selenium 获取标签文本的为空解决办法全部内容,希望文章能够帮你解决python + selenium 获取标签文本的为空解决办法所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。