封装打开页面方法及判断时报NameError: name 'selenium_driver' is not defined

来源:5-4 封装打开页面方法及判断页面是否正确

慕粉0218009082

2022-10-24

图片描述

请问一下老师这个问题是什么原因导致的?怎么解决

写回答

2回答

慕粉0218009082

提问者

2022-10-24

# coding=utf-8
from selenium import webdriver
import time
from selenium.webdriver.support import expected_conditions as EC
from webbrowser.webrowser import driver


# 类的使用
class seleniumdriver:
    def __init__(self, browser):
        self.driver = self.open_browser(browser)

    def open_browser(self, browser):
        try:
            if browser == 'chrome':
                driver = webdriver.Chrome()
            elif browser == 'firefox':
                driver = webdriver.Firefox()
            elif browser == 'edge':
                driver = webdriver.Edge()
            else:
                driver = webdriver.Ie()
            time.sleep(10)
            return driver
        except:
            print("打开浏览器失败")
            return None

    def get_url(self, url):
        # driver = open_browser('edge')
        if driver != None:
            if 'http://' in url:
                self.driver.get(url)
            else:
                print("你的URL有问题")
        else:
            print("case失败")

    def handle_windows(self, *args):
        # driver = open_browser('edge')
        i = (1, 2, 3)
        value = len(args)
        if value == 1:
            if args[0] == 'max':
                self.driver.maximize_window()
            elif args[0] == 'min':
                self.driver.minimize_window()
            elif args[0] == 'back':
                self.driver.back()
            elif args[0] == 'forward':
                self.driver.forward()
            else:
                self.driver.refresh()
        elif value == 2:
            self.driver.set_window_size(args[0], args[1])
        else:
            print("你传递的参数有问题")
        time.sleep(2)
        self.driver.quit()

    def assert_title(self, title_name=None):
        """判断title是否正确"""
        if title_name != None:
            get_title = EC.title_contains(title_name)
            return get_title(self.driver)

    def open_url_is_true(self, url, tite_name=None):
        """通过title判断页面是否正确"""
        self.get_url(url)
        return self.assert_title(tite_name)

    def close_driver(self):
        self.driver.close()

selenium_driver = seleniumdriver('edge')
print(selenium_driver.open_url_is_true('https://www.imooc.com/', '慕课网'))
selenium_driver.close_driver()


0
3
Mushishi
回复
慕粉0218009082
你看一下你代码,self.driver 下面你用的时候用的是driver。仔细仔细。!!!!get_url
2022-10-25
共3条回复

Mushishi

2022-10-24

你把你代码发截图啊,不然我光看错误只能说你这个selenium_driver 没定义。

0
0

助力Python功能测试人员进阶Web自动化测试

轻松转型,快速胜任自动化测试工程师岗位

916 学习 · 607 问题

查看课程