抓腦闊系列之App混合應用上下文環境的切換

2022-08-26 06:27:07 字數 905 閱讀 8201

什麼是混合應用?在手機模擬器或真機中,如果有存在非android原生控制項的內容,比如網頁,這種應用即可被稱為混合應用。

如果是非原生的,那麼它展示出的就是乙個整體,則無法對內部元素進行定位,而webdriver不提供這些非原生的元素定位功能,為了能夠使用混合應用,所以要進行上下文切換,假設把模擬器中的瀏覽器當作乙個混合應用,

我們先定位瀏覽器url輸入框,輸入回車,

input_url = driver.find_element_by_id('

com.android.browser:id/url')

input_url.send_keys(

'')driver.press_keycode(66)

切換到瀏覽器的webview(context可以使用driver.contexts獲取),

如果要退出瀏覽器,返回android原生應用,怎麼操作呢?這裡有兩種方法:

driver.switch_to.context(none) 或者 driver.switch_to.context('

')注意:

1、由於webview與網頁有關,所以會涉及到瀏覽器(chrome)版本問題,可以在caps裡配置【chromedriverexecutabledir】

2、真機的webview除錯模式要開啟;最好root,否則可能發現不了context。

腦洞系列 XJOJ 挖金礦

這個題目,在考場上我沒有做不出來,說實話,開始的時候,我都沒看出來這是個二分!這個題目因為資料範圍給的很難受 n m 而不是n m 所以我們在求每一列的字首和的時候,我們可以抽象成一維來做。我們設答案為ans,ans sum h sum為挖過的所有金礦的價值之和,h為挖過的金礦的個數 sum ans...

Gazebo燒腦系列 挑戰賽

假期終於到了。對於許多人來說,這意味著下班後可以吃點東西,玩遊戲和家人一起閒逛以及從事個人專案。如果想在這個假期裡找到一些有趣的事情,提高ros技能,甚至可能賺到幾美元,那麼使用ros的比賽現在很多。最好的部分是,無需訂購大量零件或在組裝機械人的工作台上花費數小時,就可以在gazebo中進行所有操作...

Elasticsearch之集群腦裂

集群腦裂是什麼?所謂腦裂問題 類似於精神 就是同乙個集群中的不同節點,對於集群的狀態有了不一樣的理解。由於某些節點的失效,部分節點的網路連線會斷開,並形成乙個與原集群一樣名字的集群,這種情況成為集群腦裂 split brain 現象。這個問題非常危險,因為兩個新形成的集群會同時索引和修改集群的資料。...