应用提交 Url
Appium Submit Url
我正在使用 Python 和 Android Chrome。我的 WebDriver
是使用 WebDriver.Remote(host, caps)
创建的
我实际上想在隐身模式下使用 Chrome,但根据 似乎不可能。
但是有什么解决方法吗?例如,我可以将我的 url 提交到顶部 Chrome 的 url 栏吗?我试过 driver.find_element_by_id('com.android.chrome:id/url_bar').submit()
但它说没有实现。
您正在尝试使用 Appium 混合使用 2 种不兼容的移动自动化方法。
如果您想正常使用Selenium API以便像桌面浏览器一样控制移动浏览器:
像这样实例化你的 AppiumDriver:
desired_caps = {}
desired_caps['platformName'] = 'Android'
desired_caps['browserName'] = 'chrome'
driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)
然后打开 URL 只需使用 driver.get() 功能,如:
driver.get('http://example.com')
如果要使用Appium API and treat Chrome as any other mobile application you need to provide a little bit different set of desired capabilities and specify Chrome package and activity
desired_caps = {}
desired_caps['platformName'] = 'Android'
desired_caps['appPackage'] = 'com.android.chrome'
desired_caps['appActivity'] = 'com.google.android.apps.chrome.Main'
driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)
查看 Appium - > Code Examples -> Python 文章,了解有关移动设备自动化的更多信息 browsers/applications,包括代码片段
这是我的解决方法。解释在评论里。
# Open Menu/More Button
d.find_element_by_id('com.android.chrome:id/menu_button').click()
# Click On Incognito Mode
d.find_element_by_xpath('/hierarchy/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.ListView/android.widget.LinearLayout[3]').click()
# Find Url Bar on the top
url_bar = d.find_element_by_id('com.android.chrome:id/url_bar')
# Click on it which gives you another view.
url_bar.click()
# Set url and this gives you a list of options
url_bar.set_text('https://a.lianwifi.com/app_h5/jisu/wifiapk/sms.html?c=uvtest&type=1')
# Click the first one. This is the one that leads you to the page with your url.
d.find_element_by_xpath('/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.view.ViewGroup/android.widget.FrameLayout[2]/android.widget.ListView/android.view.ViewGroup[1]/android.view.ViewGroup').click()
我正在使用 Python 和 Android Chrome。我的 WebDriver
是使用 WebDriver.Remote(host, caps)
我实际上想在隐身模式下使用 Chrome,但根据
但是有什么解决方法吗?例如,我可以将我的 url 提交到顶部 Chrome 的 url 栏吗?我试过 driver.find_element_by_id('com.android.chrome:id/url_bar').submit()
但它说没有实现。
您正在尝试使用 Appium 混合使用 2 种不兼容的移动自动化方法。
如果您想正常使用Selenium API以便像桌面浏览器一样控制移动浏览器:
像这样实例化你的 AppiumDriver:
desired_caps = {} desired_caps['platformName'] = 'Android' desired_caps['browserName'] = 'chrome' driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)
然后打开 URL 只需使用 driver.get() 功能,如:
driver.get('http://example.com')
如果要使用Appium API and treat Chrome as any other mobile application you need to provide a little bit different set of desired capabilities and specify Chrome package and activity
desired_caps = {} desired_caps['platformName'] = 'Android' desired_caps['appPackage'] = 'com.android.chrome' desired_caps['appActivity'] = 'com.google.android.apps.chrome.Main' driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)
查看 Appium - > Code Examples -> Python 文章,了解有关移动设备自动化的更多信息 browsers/applications,包括代码片段
这是我的解决方法。解释在评论里。
# Open Menu/More Button
d.find_element_by_id('com.android.chrome:id/menu_button').click()
# Click On Incognito Mode
d.find_element_by_xpath('/hierarchy/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.ListView/android.widget.LinearLayout[3]').click()
# Find Url Bar on the top
url_bar = d.find_element_by_id('com.android.chrome:id/url_bar')
# Click on it which gives you another view.
url_bar.click()
# Set url and this gives you a list of options
url_bar.set_text('https://a.lianwifi.com/app_h5/jisu/wifiapk/sms.html?c=uvtest&type=1')
# Click the first one. This is the one that leads you to the page with your url.
d.find_element_by_xpath('/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.view.ViewGroup/android.widget.FrameLayout[2]/android.widget.ListView/android.view.ViewGroup[1]/android.view.ViewGroup').click()