0
点赞
收藏
分享

微信扫一扫

selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate elemen

史值拥 2022-02-15 阅读 158

在这里插入图片描述
代码中出现两个相同的语句
在这里插入图片描述
如果是不同方式获取同个文本就不会报错
在这里插入图片描述
但是这样也会报错
在这里插入图片描述
去掉缩进后就不会报错了
在这里插入图片描述
属实整蒙了!!!
有无大佬知道捏
源码再此

from selenium.webdriver.common.by import By
from selenium import webdriver
from time import sleep
import unittest

class TestLogin(unittest.TestCase):
    def setUp(self):
        self.driver=webdriver.Chrome()
        url = r"http://tpshop-test.itheima.net/Home/Goods/goodsInfo/id/1.html"
        self.driver.get(url)
        self.driver.implicitly_wait(39)
        # 点击登录按钮
        self.driver.find_element(By.PARTIAL_LINK_TEXT, "登录").click()

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

    def test_login_username_not_exit(self):
        driver=self.driver
        # 输入用户名
        driver.find_element(By.CSS_SELECTOR, "#username").send_keys("1")
        # 输入密码
        driver.find_element(By.CSS_SELECTOR, "#password").send_keys("ff")
        # 输入验证码
        driver.find_element(By.CSS_SELECTOR,"#verify_code").send_keys("8888")
        # 点击登录
        driver.find_element(By.CSS_SELECTOR, ".J-login-submit").click()
        # 获取错误信息
        msg=driver.find_element(By.CSS_SELECTOR,".layui-layer-content").text
        # 报错
        msg=driver.find_element(By.XPATH,"//*[@id='layui-layer1']/div[2]").text
        #msg=driver.find_element(By.CSS_SELECTOR,".layui-layer-content").text
        print("msg:", msg)
        sleep(3)
        # 断言
        try:
            self.assertEqual(msg,"账号格式不匹配!")
            # 点击提示框按钮
            driver.find_element(By.CSS_SELECTOR, ".layui-layer-btn0").click()

        except AssertionError:
            # 截图
            driver.get_screenshot_as_file("../image/logFail.png")

    # def test_login_password_err(self):
    #     driver=self.driver
    #     # 输入用户名
    #     driver.find_element(By.CSS_SELECTOR, "#username").send_keys("13300001111")
    #     # 输入密码
    #     driver.find_element(By.CSS_SELECTOR, "#password").send_keys("ff")
    #     # 输入验证码
    #     driver.find_element(By.CSS_SELECTOR, "#verify_code").send_keys("88")
    #     # 点击登录
    #     driver.find_element(By.CSS_SELECTOR, ".J-login-submit").click()
    #     # 获取错误信息
    #     msg = driver.find_element(By.CSS_SELECTOR, ".layui-layer-content").text
    #     print("msg:", msg)
    #
    #     # 断言
    #     try:
    #         self.assertEqual(msg,"验证码错误")
    #         # 点击提示框按钮
    #         driver.find_element(By.CSS_SELECTOR, ".layui-layer-btn0").click()
    #     except AssertionError:
    #         # 截图
    #         driver.get_screenshot_as_file("../image/logFail.png")
举报

相关推荐

0 条评论