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

原文地址:https://www.cnblogs.com/superbaby11/p/15693899.html