yukari123 发表于 2023-3-2 18:37:00

为什么url放到driver框架里就运行不了,自己写就可以

这个是业务层的我建了一个setupclass,这步都能正常运行
import parameterized as parameterized
from test01.po1.base.get_driver import GetDriver
from test01.po1.page.page_calc import PageCalc
import unittest
from selenium import webdriver


class Testcalc(unittest.TestCase):
    print('1')
    driver = None
    # setup
    @classmethod
    def setUpClass(cls):
      print('2')
      # 获取driver
      cls.driver = GetDriver().get_driver()
      print("4")
      # 初始化
      cls.calc = PageCalc(cls.driver)
但是
from selenium import webdriver
from test01.po1 import page


class GetDriver:
    # 设置类属性
    driver = None
    # 获取driver
    @classmethod
    def get_driver(cls):
      print('3')
      print(cls.driver)
      if cls.driver is None:
            cls.driver = webdriver.Chrome()
            cls.driver.maximize_window()
            print(page.url)
            cls.driver.get('page.url')#没有打印4这里出错了
            print("4")

      return cls.driver
忽略我的print,得到的报错是
1
2
3
None
selenium.common.exceptions.InvalidArgumentException: Message: invalid argument
(Session info: chrome=110.0.5481.104)
为什么啊说我是无效参数。。。我检查了chrome110.0.5481.104版本和ChromeDriver 110.0.5481.77也是一致的,url也没问题

另外,当我单独写一个实例化driver的文件却可以运行,如下
from time import sleep

i=webdriver.Chrome()#实例化浏览器对象
i.get('http://cal.apple886.com/')
i.find_element(By.ID,'simple9').click
sleep(5)

isdkz 发表于 2023-3-2 18:37:01

cls.driver.get('page.url') 中的 page.url 不要加引号

cls.driver.get(page.url)

yukari123 发表于 2023-3-3 12:41:43

isdkz 发表于 2023-3-2 19:16
cls.driver.get('page.url') 中的 page.url 不要加引号

感谢!困扰了我那么久居然是这么简单的地方,不过我又报错了还是解不出来{:5_99:}可以帮我看看吗

isdkz 发表于 2023-3-3 12:42:38

yukari123 发表于 2023-3-3 12:41
感谢!困扰了我那么久居然是这么简单的地方,不过我又报错了还是解不出来可以帮我看看吗

把报错信息发出来吧

yukari123 发表于 2023-3-3 12:57:52

isdkz 发表于 2023-3-3 12:42
把报错信息发出来吧

代码太多了我新开了个帖子关于selenium搭建测试框架的问题!!
https://fishc.com.cn/thread-225145-1-1.html
(出处: 鱼C论坛)
麻烦了!
页: [1]
查看完整版本: 为什么url放到driver框架里就运行不了,自己写就可以