Python教程

python中*args与**kwargs,与find_element封装的方法

本文主要是介绍python中*args与**kwargs,与find_element封装的方法,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

1、*代表什么

(1)字符串

>>> s1 = "123"
>>> print(*s1)
1 2 3
# 结果是把s1字符串拆开

(2)列表或元组

>>> l1 = ["1s", 2, 3]
>>> print(*l1)
1s 2 3  # 把字符串的每一个元素拆出来

结论:可以看到*是用来拆分一个集合中

2、*接收参数

定义两个对比一下,可以看到接收的时候把多个参数给拼接起来变成一个元组,当你传元组的时候会拼接成一个大的元组

def canshu_youxing(*value):
    """接收参数有*"""
    print("-----接收参数有*-----")
    print(type(value))
    print(value)
    print(*value)

>>> canshu_youxing("参数1", "参数2")
-----接收参数有*-----
<class 'tuple'>
('参数1', '参数2')
参数1 参数2

>>> tup = ("参数1", "参数2")
>>> canshu_youxing(tup)
-----接收参数有*-----
<class 'tuple'>
(('参数1', '参数2'),)
('参数1', '参数2')

3、selenium封装的方法

def click_element(self, *by):
    """
    点击元素
    参数 by:接收的是两个变量:By.XPATH,'测试'
    """
    ele = self.find_element(*by)
    return ele.click()

def input_element(self, by, text):
    """
    元素输入文本
    参数1 by:(By.XPATH,'测试'),
    参数2 text:输入的文本内容
    """
    ele = self.find_element(*by)
    ele.clear()
    return ele.send_keys(text)

第一种click_element:我需要传的定位的两个变量就可以,所以用*by把两个变量合并成一个元组,在用的时候*by把元组分开,变成两个变量

第二种input_element:我需要传定位和输入的文本内容,所以by接收的时候直接接收过来元组,在用的时候*by把元组分开,变成定位的两个变量

这篇关于python中*args与**kwargs,与find_element封装的方法的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!