共有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
