Dbao_miao 2021-10-25 17:18 采纳率: 60%
浏览 389
已结题

missing 1 required positional argument: 'self'。我这实例化有错误吗?



```python
from selenium.webdriver.chrome import webdriver
from selenium.webdriver.firefox import webdriver
from selenium import webdriver


class PageElements:
    """
    浏览器元素
    """

    def __init__(self):
        print("y")

    def chrome_ele(self):
        """
        谷歌
        :return:
        """
        chr_driver = webdriver.Chrome()
        self.user_name = chr_driver.find_element_by_id("kw")
        self.pdw = chr_driver.find_element_by_id('loginpwd')
        self.login_btn = chr_driver.find_element_by_id('loginBtn')

    def ie_ele(self):
        """
        ie
        :return:
        """
        ie_driver = webdriver.Ie()
        self.ie_usen = ie_driver.find_element_by_id("loginUserName")
        self.ie_usepwd = ie_driver.find_element_by_id("loginPwd")
        self.ielogin_btn = ie_driver.find_element_by_id("loginBtn")
        pass

    def firefox_ele(self):
        """
        firefox
        :return:
        """
        fire_driver = webdriver.Firefox()
        self.fire_usen = fire_driver.find_element_by_id("loginUserName")
        self.fire_usepwd = fire_driver.find_element_by_id("loginPwd")
        self.firelogin_btn = fire_driver.find_element_by_id("loginBtn")
        pass

    def edge_ele(self):
        """
        edge
        :return:
        """
        edeg_driver = webdriver.Edge()
        self.edge_usen = edeg_driver.find_element_by_id("loginUserName")
        self.edge_useped = edeg_driver.find_element_by_id("loginPwd")
        self.edgelogin_btn = edeg_driver.find_element_by_id("loginBtn")


chrome_ele = PageElements.chrome_ele()
ie_ele = PageElements.ie_ele()
fire_ele = PageElements.firefox_ele()
edge_ele = PageElements.edge_ele()








![img](https://img-mid.csdnimg.cn/release/static/image/mid/ask/281354351536190.png "=600 #left")
  • 写回答

1条回答 默认 最新

  • 辉煌仪奇 2021-10-25 17:21
    关注

    你好,python类是需要初始化的,你没有执行初始化就开始调用函数出错了,代码做如下修改即可

    
    from selenium.webdriver.chrome import webdriver
    from selenium.webdriver.firefox import webdriver
    from selenium import webdriver
    
    
    class PageElements:
        """
        浏览器元素
        """
    
        def __init__(self):
            print("y")
    
        def chrome_ele(self):
            """
            谷歌
            :return:
            """
            chr_driver = webdriver.Chrome()
            self.user_name = chr_driver.find_element_by_id("kw")
            self.pdw = chr_driver.find_element_by_id('loginpwd')
            self.login_btn = chr_driver.find_element_by_id('loginBtn')
    
        def ie_ele(self):
            """
            ie
            :return:
            """
            ie_driver = webdriver.Ie()
            self.ie_usen = ie_driver.find_element_by_id("loginUserName")
            self.ie_usepwd = ie_driver.find_element_by_id("loginPwd")
            self.ielogin_btn = ie_driver.find_element_by_id("loginBtn")
            pass
    
        def firefox_ele(self):
            """
            firefox
            :return:
            """
            fire_driver = webdriver.Firefox()
            self.fire_usen = fire_driver.find_element_by_id("loginUserName")
            self.fire_usepwd = fire_driver.find_element_by_id("loginPwd")
            self.firelogin_btn = fire_driver.find_element_by_id("loginBtn")
            pass
    
        def edge_ele(self):
            """
            edge
            :return:
            """
            edeg_driver = webdriver.Edge()
            self.edge_usen = edeg_driver.find_element_by_id("loginUserName")
            self.edge_useped = edeg_driver.find_element_by_id("loginPwd")
            self.edgelogin_btn = edeg_driver.find_element_by_id("loginBtn")
    
    PageElementsobjec=PageElements()
    chrome_ele = PageElementsobjec.chrome_ele()
    ie_ele = PageElementsobjec.ie_ele()
    fire_ele = PageElementsobjec.firefox_ele()
    edge_ele = PageElementsobjec.edge_ele()
    

    有帮助请采纳,有问题继续交流,你的采纳是对我回答的最大的肯定和动力

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 11月2日
  • 已采纳回答 10月25日
  • 创建了问题 10月25日

悬赏问题

  • ¥20 机器学习能否像多层线性模型一样处理嵌套数据
  • ¥20 西门子S7-Graph,S7-300,梯形图
  • ¥50 用易语言http 访问不了网页
  • ¥50 safari浏览器fetch提交数据后数据丢失问题
  • ¥15 matlab不知道怎么改,求解答!!
  • ¥15 永磁直线电机的电流环pi调不出来
  • ¥15 用stata实现聚类的代码
  • ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效