日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

經驗拾憶(純手工)=> Python版-Docker使用Appium簡單實驗

系統 2361 0

Docker-Appium安裝

Github docker-appium地址 : https://github.com/appium/app...

創建臨時容器(用于簡單命令測試)

          
            docker run --privileged -d -p 4723:4723 -v ~/.android:/root/.android -v /dev/bus/usb:/dev/bus/usb --name container-appium appium/appium

          
        

若使用模擬器等(非USB連接)

模擬器的adb將USB模式轉為TCP連接方式:

          
            adb -s 127.0.0.1:62001 tcpip 1119
          
        

遠程Docker連接此模擬器:

          
            docker exec -it container-appium adb connect 192.168.0.103:1119

          
        

查看虛擬設備是否連接成功

          
            docker exec -it container-appium adb devices

          
        

若使用真機(USB連接)可直接使用如下配置

Dockerfile內容如下

          
            FROM python
RUN pip install -i http://pypi.douban.com/simple \
    requests  retrying  appium-python-client --trusted-host pypi.douban.com

          
        

docker-compose.yaml內容如下

          
            version: "3.7"
services:
  myspider:
    build: .
    volumes:
      - /root/mycode:/root/mycode
    command: python /root/mycode/1.py
    depends_on:
      - appium
  appium:
    image: appium/appium # 拉取鏡像完成自動化全套配置
    ports:
      - "4723:4723"
    privileged: true
    hostname: appium
#    command: adb connect 192.168.0.103:1119
#    command:
#      - /bin/sh
#      - -c
#      - |
#        adb connect 192.168.0.103:1119
#        adb devices
#    entrypoint: adb connect 192.168.0.103:1119
    volumes:
      - ~/.android:/root/.android
      - /dev/bus/usb:/dev/bus/usb

          
        

爬蟲腳本代碼1.py如下

          
            from appium import webdriver
from retrying import retry
import requests
import time

config = {}
config['platformName'] ='Android'
config['platformVersion'] = '7.1.1'
config['deviceName'] = '堅果 Pro 2'
config['noReset'] = True
config['appPackage'] = 'org.mozilla.firefox'
config['appActivity'] = 'org.mozilla.gecko.BrowserApp'
################### 查看 appPackage 和 appActivity #################
## 注意:
##     這兩個值是針對某一軟件的配置,你需要在手機上打開你這個軟件,然后再執行此命令:
##     我此例就是用的 手機里面的火狐瀏覽器。
##     那么我首先需要,將火狐打開。
##     然后再執行如下命令才能查到想對應的配置。
##     否則,查的是你手機運行狀態的主界面應用程序的配置信息
## 命令如下:
##     docker exec -it container-appium adb shell    # 進入 adb shell
##     dumpsys activity | grep mFocusedActivity       
##         返回結果  / 前面的是  appPackage  的值
##         返回結果  / 后面的是  appActivity 的值

@retry(
    stop_max_attempt_number = 1000000,
    stop_max_delay = 10*1000,
)
def verify_request():
    response = requests.get("http://appium:4723/wd/hub",timeout=0.5)
    print(response)
verify_request()

with webdriver.Remote(
    command_executor='http://appium:4723/wd/hub',
    desired_capabilities=config
) as driver:
    driver.get('https://tieba.baidu.com/index.html')
    time.sleep(5)

    with open('/root/mycode/test.html', 'w') as f:
        f.write(driver.page_source)
        print('寫入成功')
    time.sleep(3)
          
        

前情鏈接

Pycharm 與 Docker 相關操作:https://segmentfault.com/a/11...

Docker 中 Selenium的使用: https://segmentfault.com/a/11...


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 扶余县| 原阳县| 七台河市| 宜良县| 长沙市| 德州市| 昭觉县| 监利县| 全南县| 鄂托克旗| 海淀区| 昂仁县| 牟定县| 临澧县| 河东区| 华坪县| 吉首市| 洛隆县| 黄梅县| 青海省| 东台市| 大足县| 卢龙县| 松溪县| 巴南区| 博罗县| 阳西县| 新安县| 东莞市| 招远市| 公安县| 明光市| 同江市| 文化| 商城县| 安阳县| 右玉县| 贺州市| 修水县| 酒泉市| 从化市|