selenium如何独立的和手机webview进行交互;不借助appium的情况下

 

 

首先说明一下本文的用意:自动化如何轻量级的操作手机的webview;在无appium的情况下,如何部署才能获取页面元素和操作页面元素

ChromeDriver是啥

http://chromedriver.chromium.org/getting-started/getting-started---android

https://github.com/bayandin/chromedriver/blob/907b958e09dbfdafb13e9257b181009d0ab43b4a/chrome/adb_impl.cc

总结:目前Android WebView支持主要还是靠ChromeDriver来实现的

必备依赖

1. selenium

2. python2.7

操作步骤

1. 安装selenium最新版本

pip install selenium    

 



https://pypi.org/project/selenium/

2. 下载chromedriver,并且注意和手机中的chrome内核版本一致,不然会报错的
下载地址:https://sites.google.com/a/chromium.org/chromedriver/downloads 源码
selenium打开chrome浏览器的时候,需要用chromedriver,而chromedriver与chrome的版本也是要相互适宜的
对于第二点的说明:如果是做手机的webview自动化,chromedriver一定要和手机中的chrome版本对应,而非PC端的,关于手机中chrome版本的获取可以参考一下步骤:
  • a. 在手机中打开带有webview的界面,然后查看webview的端口号
  • webview_devtools_remote_36315对应的应该是应用内的WebView,这个26315应该是个pid

  • 进行一个forward操作:adb forward tcp:9999 localabstract:webview_devtools_remote_26315

  • 至此得到了手机中的chrome版本号

3. 启动PC本地相应的chromedriver

4. 写py脚本就可以实现手机中webview元素的获取和操作了

 


问题汇总:
1. centos中有可能缺少gconf

 需要运行命令:

yum install GConf2





 

chromedriver版本支持的Chrome版本
v2.37 v64-66
v2.36 v63-65
v2.35 v62-64
v2.34 v61-63
v2.33 v60-62
v2.32 v59-61
v2.31 v58-60
v2.30 v58-60
v2.29 v56-58
v2.28 v55-57
v2.27 v54-56
v2.26 v53-55
v2.25 v53-55
v2.24 v52-54
v2.23 v51-53
v2.22 v49-52
v2.21 v46-50
v2.20 v43-48
v2.19 v43-47
v2.18 v43-46
v2.17 v42-43
v2.13 v42-45
v2.15 v40-43
v2.14 v39-42
v2.13 v38-41
v2.12 v36-40
v2.11 v36-40
v2.10 v33-36
v2.9 v31-34
v2.8 v30-33
v2.7 v30-33
v2.6 v29-32
v2.5 v29-32
v2.4 v29-32

chromedriver下载地址http://chromedriver.storage.googleapis.com/index.html

posted @ 2018-11-02 17:19  trxdy  阅读(927)  评论(0)    收藏  举报