当前位置: 首页 > 知识库问答 >
问题:

Udemy Selenium教程-没有这样的元素:无法定位元素:{"方法":"名称","选择器":"btnk"}

公西鸿博
2023-03-14

我完全拥有Udemy教程中教师所拥有的(字符、空格缩进)。他的测试运行良好,但我的出现了错误。请查看以下内容。谢谢!

import unittest
from selenium import webdriver


class MyTestCase(unittest.TestCase):

    def setup(self):
        self.driver = webdriver.Chrome(executable_path="../Drivers/chromedriver.exe")
        self.driver.implicitly_wait(10)
        self.driver.maximize_window()

    def test_search(self):
        self.driver.get("http://www.google.com")
        self.driver.find_element_by_name("q").send_keys("Automation step by step")
        self.driver.find_element_by_name("btnk").click()
        x = self.driver.title
        print(x)
        self.assertEqual(x, "Automation step by step")

    def tearDown(self):
        self.driver.close()
        self.driver.quit()

错误回溯(上次调用):文件“C:\Python27\Lib\unittest\case.py”,第329行,运行testMethod()

文件“C:\用户\S-伊朗\PycharmProjects\演示\Demo_1\utest1.py”,第 15 行,test_search self.driver.find_element_by_name(“btnk”)中。

文件"C:\User\S-伊朗\PycharmProjects\Demo\venv\lib\site-pack\selenium\webDrive\Remote\webdriver.py",第496行,find_element_by_name返回self.find_element(by=By.NAME, value=name)

文件“C:\Users\S-伊朗\PycharmProjects\Demo\venv\lib\site-packages\硒\web驱动程序\远程\webdriver.py”,第 978 行,find_element '值': value})['值']

文件“C:\Users\S-Iran\PycharmProjects\Demo\venv\lib\site packages\selenium\webdriver\remote\webdrivers.py”,第321行,在execute self.error_handler.check_response(response)中

文件“C:\Users\S-伊朗\PycharmProjects\Demo\venv\lib\site-packages\硒\web驱动程序\远程\errorhandler.py”,第 242 行,check_response引发exception_class(html" target="_blank">消息、屏幕、堆栈跟踪)

NoTouchElementException:消息:无此类元素:无法定位元素:{“方法”:“名称”,“选择器”:“btnk”}(会话信息:chrome=72.0.3626.121)(驱动程序信息:ChrmeDriver=2.45.615291(ec3682e3c9061c10f26ea9e5cdcf3c53f3f74387),平台=Windows NT 10.0.17134 x86_64)

共有1个答案

易招
2023-03-14

当您使用< code>sendKeys时,可以使用< code>element.submit()而不是单击不存在的按钮

而不是这个。

self.driver.get("http://www.google.com")
  self.driver.find_element_by_name("q").send_keys("Automation step by step")
  self.driver.find_element_by_name("btnk").click()

试试这个。

element=self.driver.find_element_by_name("q")
element.send_keys("Automation step by step")
element.submit()
 类似资料: