2013-08-02 149 views
11

我想從瀏覽器中使用文本uiautomatorAndroid從瀏覽器中獲取文本

我該怎麼辦?

我分析的chrome結構,並且只有android.View.view
我試着使用getText()功能,但它沒有幫助。
任何幫助表示讚賞。

也許有人知道我怎麼能通過調用一些chrome實例...或者使用任何其他方法。

任何解決方案,與信息,如何將android瀏覽器頁面保存爲HTML /文本將是足夠的,或如何選擇整個頁面。 (除了觸摸/長按文字)。

+0

一種方法是將當前活動的特性轉儲到xml文件並讀取該xml文件。 – Fresher

+0

@Fresher請解釋我該怎麼做...... – Arseniy

+0

使用dumpWindowHierarchy()UiDevice類的方法將當前活動的本性保存到文件,默認位置是「/data/local/tmp"。然後使用文件操作讀取該文件 – Fresher

回答

-2

使用dumpWindowHierarchy()UiDevice類的方法將當前活動的性質保存到文件,默認位置是「/data/local/tmp"。然後使用文件操作讀取該文件。

獲得當前活動屬性的第二種方法:
1.使用「adb shell uiautomator dump /data/local/tmp/view.xml」獲取屏幕特徵。 2.使用adb pull命令將文件拖到計算機上並讀取該文件。

+0

我需要從WebView中獲取數據,而不是活動屬性。 @ dumpWindowHierarchy()@只返回層次結構而不是webView的內容 – Arseniy

+0

對不起,你正確的是它沒有顯示webview內容 – Fresher

2

UiDevice.getLastTraversedText()是我知道在webview中獲取突出顯示文本的唯一方法。我也在尋找更好的方式來測試Android上的webview。

+0

是的我也找到了這樣的方式,但它很難看:) – Arseniy

+0

如何通過uiautomator突出顯示文本? – Arseniy

+0

我正在使用導航鍵:上,下,左,右。我必須使用http測試服務器,以便我可以控制html內容,以及導航步驟以獲取預期內容。這也很醜陋.. – Xiaocong

1

奇怪的是,UiDevice.getLastTraversedText()從來沒有爲我工作過。但是,從Android 4.4開始,這些元素以其作爲內容描述符的文本或函數顯示爲android.view.View。不是一直工作,但它是一個很大的改進。