如何在appium中获取不可见的页面源?

问题描述

当我滑动到下一页并获得 page_source 时,我无法获得最后的 page_source 内容

也就是说我只能获取当前可见的page_source

但是我想抓取很多页面,只获取可见页面代码效率低

有什么办法可以在 appium 中的 page_source 之外隐形?我用蟒蛇。

谢谢

解决方法

需要了解您想要捕捉哪个页面 - 本机还是网页视图? 尝试获取用于调试的页面源 - https://appium.io/docs/en/commands/session/source/ .

也许你需要切换上下文来获取页面源?

这里是我如何实现上下文切换。

  1. 在一些页面对象文件中,我保留了 Android(或 iOS)上下文。

     ANDROID_CONTEXTS = {
         'webview': 'WEBVIEW_ru.myapp','native': 'NATIVE_APP'
     }
    
  2. 在某些测试中,我将上下文从 Native 切换到 Webview。

     @allure.link(url='https://jira.project.tech/browse/TEST-1',name='TEST-1 - Fill payment form')
     @allure.title('Fill payment form')
     def test_card_standard_1_month(appdriver):
    
         Paywall(appdriver).press_one_month_button()
         PaymentsPage(appdriver).select_card_payment()
         PaymentsPage(appdriver).press_payment_button()
    
    
         appdriver.switch_to.context(ANDROID_CONTEXTS['webview'])
         Payform(appdriver).fill_and_submit_payoform()
    
         appdriver.switch_to.context(ANDROID_CONTEXTS['native'])
    
         assert SuccessPayment(appdriver).get_successful_payment_title_text() == 'Your subscription is successful!'
    

您可以检查应用中的所有可用上下文。更多信息在这里 -> http://appium.io/docs/en/commands/context/set-context/

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...