XICSDNH 2021-08-03 12:41 采纳率: 100%
浏览 2511
已结题

提示错误: TypeError: open() missing 1 required positional argument: 'url'

封装:
from selenium import webdriver

def brower(type_):
    try:
        driver = getattr(webdriver, type_)()
    except:
        driver = webdriver.Chrome()
    return driver

class web_ui:
    # driver = webserver.Chrome()
    # 构造函数
    def __init__(self, type_):
        self.driver = brower(type_)

    # 打开url
    def open(self, url):
        self.driver.get(url)

    # 元素定位
    def locator(self, value):
        return self.driver.find_element(value)

    # 点击
    def click_(self, name, value):
        self.locator(name, value).click()

    # 输入
    def send_(self, name, value, txt):
        self.locator(name, value).send_keys(txt)

    # 退出
    def quit_(self):
        self.driver.quit()

    # 等待
    def sleep_(self, value=10):
        self.driver.implicitly_wait(value)
调用:

from selenium1.web_ui import web_ui

web_ui('Chrome')
web_ui.open('http://www.baidu.com')

提示错误:
TypeError: open() missing 1 required positional argument: 'url'

  • 写回答

3条回答 默认 最新

  • 忍气吞声埋头苦干 2021-08-03 14:06
    关注

    报错解释的很详细,需要一个url参数,说明没收到url这个参数,类中方法定义也没问题,所以判断是调用时出现问题
    你调用的方式是以类方法调用的。而Open函数的第一个参数是self,所以只能以实例来调用
    建议了解一下类的相关知识
    如果按照你这个写法,
    应该先创建一个实例,通过实例来操作实例方法
    chrome = web_ui('Chrome')
    chrome.open('http://www.baidu.com')

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 8月5日
  • 已采纳回答 8月3日
  • 创建了问题 8月3日

悬赏问题

  • ¥15 2024-五一综合模拟赛
  • ¥15 如何将下列的“无限压缩存储器”设计出来
  • ¥15 下图接收小电路,谁知道原理
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度
  • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测
  • ¥15 ETLCloud 处理json多层级问题
  • ¥15 matlab中使用gurobi时报错
  • ¥15 这个主板怎么能扩出一两个sata口