关于python的web自动化,循环点击的字符串连接
例如上图
这种情况我们需要分别的去查看每一个模块里面是否含有指定字符或内容时,或者是是否有准时更新指定内容时,我们需要一个循环的点击每个模块的按钮,然后获取里面的内容是否符合要求,再输出结果并记录
- 我们通过获取几个元素的xpath表达式发现:
/html/body/div[3]/div[2]/div[1]/div[3]/div/div[1]/span[1] 推荐
/html/body/div[3]/div[2]/div[1]/div[3]/div/div[1]/span[2] 时事
/html/body/div[3]/div[2]/div[1]/div[3]/div/div[1]/span[3] 娱乐
/html/body/div[3]/div[2]/div[1]/div[3]/div/div[1]/span[4] 游戏
/html/body/div[3]/div[2]/div[1]/div[3]/div/div[1]/span[5] 体育
/html/body/div[3]/div[2]/div[1]/div[3]/div/div[1]/span[6] 财经
/html/body/div[3]/div[2]/div[1]/div[3]/div/div[1]/span[7] 科技
这几个xpath(根据个人喜好选择定位方式)表达式前面都是一样的,后面的一个关键数字是依次加1的。
也就是说我们可以把这个表达式拆分成三个部分:
- 第一部分(前面的不变部分)
“/html/body/div[3]/div[2]/div[1]/div[3]/div/div[1]/span[” - 第二部分(逐次加一的数字)
变量 x(我们用x代替这个逐次加一的部分) - 第三部分(后面不变的部分)
“]”
我们合并起来就是:
“/html/body/div[3]/div[2]/div[1]/div[3]/div/div[1]/span[”+x+"]"
下面就是代码:
def xunhuan_dianji(nem,nem2,nbem3):
x=1
while x<=nem:
x=str(x)
y=nem2+x+nbem3
print(y)#此处使用了输出语句,大家可以根据实际情况提现不同的语句
x=int(x)
x=x+1
else:
print("指定语句")#此处使用了输出语句,大家可以根据实际情况提现不同的语句
xunhuan_dianji(7,"/html/body/div[3]/div[2]/div[1]/div[3]/div/div[1]/span[","]")
nem是按钮列表的总数,如果有五个列表就填5
nem2是表达式的前半段,不发送变化的固定字符串
nem2是表达式的后半段,不发送变化的固定字符串
我这里写的是输出表达式
你们可以根据实际情况编写不同的语句
比如判断字符是否存在,
指定内容是否存在等等
里面最重要的两点
- 在连接字符串的时候必须将其他格式转换为str格式 aa=str(aa)
aa=1
bb="老姜"
cc="不小心"
aa = str(aa)
print(bb,aa,cc)
>>> 老姜 1 不小心
- 在变量运算的时候必须将其他格式的数字转换成int格式 aa=int(aa)
aa=1
bb="老姜"
cc="不小心"
aa = str(aa)
#print(bb,aa,cc)
aa=int(aa)
aa=aa+4
aaaa = str(aa)
print(bb,aa,cc)
>>> 老姜 5 不小心