import time
from appium import webdriver
from selenium.webdriver.common.by import By
desired_caps=dict(
deviceName='Android',
platformName='Android',
appPackage= 'com.android.chrome',
appActivity='org.chromium.chrome.browser.ChromeTabbedActivity'
)
driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps)
driver.implicitly_wait(10)
driver.get('http://google.com')
contexts= driver.contexts
for context in contexts:
print(context)
driver.switch_to.context('WEBVIEW_chrome')
time.sleep(1)
driver.find_element(By.XPATH, "//*[@name='q']").send_keys("Hello Appium !!!")
time.sleep(2)
driver.quit()
我找不到元素和执行脚本,我得到同样的错误:
selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"xpath","selector":"//*[@name='q']"}
(Session info: chrome=112.0.5615.136)
Stacktrace:
Backtrace:
GetHandleVerifier [0x003FDCE3+50899]
(No symbol) [0x0038E111]
(No symbol) [0x00295588]
(No symbol) [0x002C08F9]
(No symbol) [0x002C0AFB]
(No symbol) [0x002EF902]
(No symbol) [0x002DB944]
(No symbol) [0x002EE01C]
(No symbol) [0x002DB6F6]
(No symbol) [0x002B7708]
(No symbol) [0x002B886D]
GetHandleVerifier [0x00663EAE+2566302]
GetHandleVerifier [0x006992B1+2784417]
GetHandleVerifier [0x0069327C+2759788]
GetHandleVerifier [0x00495740+672048]
(No symbol) [0x00398872]
(No symbol) [0x003941C8]
(No symbol) [0x003942AB]
(No symbol) [0x003871B7]
BaseThreadInitThunk [0x75AF0099+25]
RtlGetAppContainerNamedObjectPath [0x77567B6E+286]
RtlGetAppContainerNamedObjectPath [0x77567B3E+238]
起初我遇到了 chromedriver 错误,我更正了它,我检查了定位器以防万一,我尝试了两种技术来改变上下文,我什至尝试在本机应用程序上下文中执行它,仍然没有运气。