在做自動化時,經常會遇到一些查詢,篩選的業務。需要將我們的搜索條件和查詢結果去比較,
但是Selenium WebDriver 只會與可見元素交互,所以獲取隱藏元素的文本總是會返回空字符串,導致如果結果數據量大的話校驗會不通過,如下


上圖查詢篩選結果有31條,但是頁面可見文本只能顯示16條,不可見的文本日志信息為空
嘗試使用滾動條下滑到下面,但是日志前幾條文本信息又為空
后面改使用JS獲取文本,成功得到所有文本,代碼如下
def get_conceal_text(self, selector):
"""獲取一組元素文本,包含隱藏元素"""
ele = self.find_elements(selector)
textlist = []
js = "return arguments[0].textContent"
for i in ele:
# text = i.get_attribute('textContent') 效果相同
text = self.driver.execute_script(js, i)
textlist.append(text)
return textlist
#補充說明
ele:定位一組元素
