应用程序突然启动并关闭,然后Pycharm抛出元素not found异常

2024-10-04 09:17:32 发布

您现在位置:Python中文网/ 问答频道 /正文

PyCharm代码:

from appium import webdriver



desired_caps = {}

desired_caps['platformName'] = 'Android'

desired_caps['automationName'] = 'UiAutomator2'

desired_caps['platformVersion'] = '10'

desired_caps['deviceName'] = 'AppiumEmulator'

desired_caps['app'] = ('G:\\Appium\\KickStartAppium\\Android_Demo_App.apk')

desired_caps['appPackage'] = 'com.google.android.apps.nexuslauncher'

desired_caps['appActivity'] = 'com.google.android.apps.nexuslauncher.NexusLauncherActivity'

desired_caps['udid'] = 'emulator-5554'





driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps)



driver.implicitly_wait(10)

ClickEle = driver.find_element_by_id("com.code2lead.kwad:id/EnterValue")

ClickEle.click()

PyCharm错误:

"C:\Users\Nandha Kumar\PycharmProjects\AppiumLaunchApp\venv\Scripts\python.exe" "C:/Users/Nandha Kumar/PycharmProjects/AppiumLaunchApp/KickStartApp.py"

Traceback (most recent call last):

  File "C:/Users/Nandha Kumar/PycharmProjects/AppiumLaunchApp/KickStartApp.py", line 19, in <module>

    ClickEle = driver.find_element_by_id("com.code2lead.kwad:id/EnterValue")

  File "C:\Users\Nandha Kumar\PycharmProjects\AppiumLaunchApp\venv\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 360, in find_element_by_id

    return self.find_element(by=By.ID, value=id_)

  File "C:\Users\Nandha Kumar\PycharmProjects\AppiumLaunchApp\venv\lib\site-packages\appium\webdriver\webdriver.py", line 279, in find_element

    return self.execute(RemoteCommand.FIND_ELEMENT, {

  File "C:\Users\Nandha Kumar\PycharmProjects\AppiumLaunchApp\venv\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 321, in execute

    self.error_handler.check_response(response)

  File "C:\Users\Nandha Kumar\PycharmProjects\AppiumLaunchApp\venv\lib\site-packages\appium\webdriver\errorhandler.py", line 31, in check_response

    raise wde

  File "C:\Users\Nandha Kumar\PycharmProjects\AppiumLaunchApp\venv\lib\site-packages\appium\webdriver\errorhandler.py", line 26, in check_response

    super().check_response(response)

  File "C:\Users\Nandha Kumar\PycharmProjects\AppiumLaunchApp\venv\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 242, in check_response

    raise exception_class(message, screen, stacktrace)

selenium.common.exceptions.NoSuchElementException: Message: An element could not be located on the page using the given search parameters.

Tags: inpyvenvresponselineelementcapsusers
1条回答
网友
1楼 · 发布于 2024-10-04 09:17:32

似乎Selenium没有在此处找到指定的元素:

ClickEle = driver.find_element_by_id("com.code2lead.kwad:id/EnterValue")

然后,selenium总是抛出异常并结束程序。如果要继续编写代码,必须从selenium中导入NoSuchElementException,并按如下方式执行: 首先导入异常:

from selenium.common.exceptions import NoSuchElementException

然后你可以参考它

except NoSuchElementException:
    # handle the element not existing

我的答案是从这类绅士的答案(第一个答案)复制过来的:python selenium webscraping "NoSuchElementException" not recognized

相关问题 更多 >