python如何在xpath中传递2个参数或变量,定位下拉框列表值为新增值,li标签下拉列表值定位方法

最近在写自动化脚本中遇到一种场景,需要定位下拉框数据的某个值,要先自动生成这个值,然后在下拉框中找到这个值,如下场景:

我需要先用脚本自动生成一组手机号|用户名,然后再在这个下拉框中找到自动生成新添加的这组数据并选择它。

思路:

1.先定位一组固定值;

2.将其中的手机号|用户名参数化;

查资料,大部分下拉框都是固定内容,都是option,定位方法也比较好破解,但是我们这个是li标签,而且下拉列表值不是固定的,如果定位某个具体的下拉框的值,如定位图中红框的值,

用现成copy出来的xpath://*[@id="select2-XXXXXXXXXX-results"]/li[1];

这种定位出的xpath当然可以用,但是,没办法添加参数转化为自动化的,

自己重新写,li标签xpath定位://li[contains(.,'19916173859|111自动化测试')]

然后再把其中的19916173859|111自动化测试转化为变量或参数

代码如下:

self.driver.find_element_by_xpath("//li[contains(.,'19916173859|111自动化测试')]").click()

使用format传入变量或参数:

name = create_user_name() 
phone = create_phone_number() self.driver.find_element_by_xpath("//li[contains(.,'{}')]".format(phone+"|"+name)).click()

还有一种字符串拼接的方法,大家试一下,可以参考下面的文章

搜相关问题这个文章出现次数特别高,也有一定的参考意义,自行参考。

https://www.cnblogs.com/guixiaoming/p/8086052.html

 
 

猜你喜欢

转载自blog.csdn.net/qsmy_an/article/details/118926510
今日推荐