selenium 获取文本
共有2种方式获取元素文本,各有优缺点
1、ele.text方式
优点是:书写简单
缺点是:当页面很大,有一部分页面会展示不出来,需要通过拖动滚动条才能查看。对这部分页面的元素,使用ele.text查看,获取不到元素文本。
举例:
申请号是第1列,页面展示出来了,通过is_displayed()方法查看结果为True,可以通过ele.text方式获取元素文本:申请号
申请号是第6列,页面展示出来了,通过is_displayed()方法查看结果为True,可以通过ele.text方式获取元素文本:审批流程
申请号是第7列,页面展示出来了,通过is_displayed()方法查看结果为True,可以通过ele.text方式获取元素文本:文件名
文件总个数是第8列,页面没有展示,通过is_displayed()方法查看结果为False,通过ele.text方式获取到元素文本为空:""
self.table_title_cells[0].text '申请号' self.table_title_cells[7].text '' self.table_title_cells[6].text '文件名' self.table_title_cells[5].text '审批流程' self.table_title_cells[7].is_displayed() False self.table_title_cells[6].is_displayed() True self.table_title_cells[5].is_displayed() True
2、通过get_attribute()方法获取元素的文本信息
在获取隐藏元素的文本信息时,可以使用get_attribute()方法,通过textContent、innerText、innerHTML等属性获取。
innerHTML会返回元素内部的HTML,包含所有的HTML标签。
textContent和innerText置灰得到文本内容,而不会包含HTML标签。textContent是W3C兼容的文字内容属性,但是IE不支持;innerText不是W3C DOM的指定内容,但是FireFox不支持。
2.1、get_attribute(“textContent”)
优点:可以获取隐藏元素的文本
缺点:IE不支持;获取有些元素的文本时,结果中带有空字符串;
举例:
self.table_title_cells[7].is_displayed() False self.table_title_cells[7].get_attribute("textContent") '文件总个数'
self.table_body_cells[2][0].text '166' self.table_body_cells[2][0].get_attribute("textContent") '166 '
2.2、get_attribute("innerText")
优点:可以获取隐藏元素的文本
缺点:FireFox不支持;
举例:
self.table_title_cells[7].is_displayed() False self.table_title_cells[7].get_attribute("innerText") '文件总个数' self.table_body_cells[2][0].text '166' self.table_body_cells[2][0].get_attribute("innerText") '166'
参考链接:
https://www.cnblogs.com/chen/p/10931424.html