ATX ATX 文档 - Android WebView 支持说明

codeskyblue · 2017年01月24日 · 5073 次阅读

简介

一直没有弄 ATX 的 WebView 支持,最近正好需要用到。借助已有的 chromedriver 以及 selenium,写起来还挺简单的,一天弄完了。

安装

官方的下载地址是 https://sites.google.com/a/chromium.org/chromedriver/downloads 但是打开之后发现下载不到历史版本。
从这里就可以找到 https://chromedriver.storage.googleapis.com/ 这个网页打开是一个 xml

里面的 Key 对应的就是文件的路径,比如2.0/chromedriver_linux32.zip
访问这个地址https://chromedriver.storage.googleapis.com/2.0/chromedriver_linux32.zip 就可以下载到对应的文件了。

chromedriver 的版本选择

版本太高太低都不行。

不同 chromedriver 对应的 chrome 版本

通过访问 chrome://inspect 可以查到当前 App 使用的 WebView 版本

不同版本应该使用的 chromedriver 版本对应关系可以从这里看到 appium-chromedriver/chromedriver.js

上图的这种情况下使用该版本的 chromedriver 就可以

手动安装额外的依赖库

pip install selenium

使用

import atx
from atx.ext.chromedriver import ChromeDriver

def main():
    d = atx.connect()
    driver = ChromeDriver(d).driver()
    driver.find_element_by_xpath('//*[@id="J-account-login-mp"]').send_keys(username)
    driver.find_element_by_xpath('//*[@id="J-account-login-pwd"]').send_keys(password)
    driver.find_element_by_xpath('//*[@id="J-login-submit"]').click()
    driver.quit()

main()

更多的 selenium 文档需要参考 http://selenium-python.readthedocs.io/getting-started.html

已知问题

Chrome 开 inspect 的时候不能和 python 代码同时运行。

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
共收到 0 条回复 时间 点赞
codeskyblue ATX 文档 - iOS 控件操作 API 中提及了此贴 02月04日 17:17
codeskyblue ATX 资料快速索引 中提及了此贴 06月21日 19:39
linpengcheng ATX-uiautomator2 实现 webview 的操作 中提及了此贴 03月29日 21:08
codeskyblue Android WebView 研究笔记 中提及了此贴 08月29日 18:31
wolfgao 移动客户端 /UI 开源测试框架梳理和大比拼 中提及了此贴 02月27日 21:03
codeskyblue webview 研究踩到的坑 中提及了此贴 09月10日 11:42
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册