)
这是比较老的写法driver.find_element_by_id(com.alipay.mobile.accountauthbiz:id/auth_login_btn)新版是这样写driver.find_element(byAppiumBy.ID, valuetv.danmaku.bili:id/action_search) driver.find_element(byAppiumBy.XPATH, value“//android.widget.TextView[resource- id‘com.taobao.taobao:id/provision_positive_button’]”).click()导包from appium.webdriver.common.appiumby import AppiumBy编码的前提是你已经有appium的环境才可以编码运行优化新版Appium元素定位方法使用AppiumBy进行元素定位是现代Appium脚本的推荐写法替代了旧版的find_element_by_*方法。以下是优化后的代码示例和说明元素定位语法from appium.webdriver.common.appiumby import AppiumBy driver.find_element(byAppiumBy.ID, valuetv.danmaku.bili:id/action_search) driver.find_element(byAppiumBy.XPATH, value//android.widget.TextView[resource-idcom.taobao.taobao:id/provision_positive_button]).click()关键改进点统一导入方式from appium.webdriver.common.appiumby import AppiumBy确保使用标准化的定位策略与Selenium 4的语法保持一致。显式定位策略通过byAppiumBy.ID或byAppiumBy.XPATH明确指定定位方式代码可读性更强且兼容未来版本更新。XPath引号规范XPath属性值使用双引号包裹外层用单引号区分避免转义问题value//*[text登录]。最佳实践建议异常处理添加NoSuchElementException捕获逻辑增强脚本健壮性from selenium.common.exceptions import NoSuchElementException try: el driver.find_element(byAppiumBy.ID, valueelement_id) except NoSuchElementException: print(Element not found)等待机制结合显式等待提高定位成功率from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC element WebDriverWait(driver, 10).until( EC.presence_of_element_located((AppiumBy.ID, com.example:id/button)) )环境验证确保测试前已完成以下配置Appium Server 1.18.0Python客户端库appium-python-client最新版正确的设备UDID和appPackage/appActivity配置