Python:测试微软自动化开源库 playwright 过程中遇到的问题点:如何创建多个变量,用于代表多个标签页,然后各自打开相同或者不同的网址

先来个我最开始的写法,很明显是错误的:

for i in range(10):
    print('page' + str(i))
    # 很明显 这句话是错误的写法 ,报错信息如下: cannot assign to operator,意为:不能赋值给运算符
    'page' + str(i) = i

再来个优化后的写法(主要是定义了一个字典,解决多个变量定义的问题):

dic = {}
for i in range(10):
    print('page' + str(i))
    # 将其封装为一个字典,就可以更为优雅的解决我们的问题
    dic['page' + str(i)] = i

应用到实际业务场景中就是这样,如果你没有安装微软的 playwright 库,需要按照如下步骤安装(看下面的前三行注释的代码)

# 打开 cmd 命令,就如同你安装其他库一样,输入下面两个指令
# pip install playwright==1.8.0a1  # 很奇怪,必须指定版本,不指定会安装到一个古老的版本
# python -m playwright install  # 安装浏览器,此处国内网络可能会有问题(你懂的),请自行解决

from playwright.sync_api import sync_playwright # 微软的开源自动化库 playwright
from tkinter import messagebox # Python自带的标准库

dic = {} # 定义字典
with sync_playwright() as playwright:
    browser = playwright.chromium.launch(headless=False) # 启动引擎,实例化对象
    context = browser.new_context()  # 需要创建一个 context,这是一个新的概念,不同于selenium,以后更为方便管理 cookies 和 ip代理
    for i in range(10):
        dic['page' + str(i)] = context.new_page()
        dic['page' + str(i)].goto('https://www.baidu.com/')

    messagebox.showinfo('提示','已处理,敬请查阅~')
    context.close() # 关闭,养成好习惯~
    browser.close() # 关闭,养成好习惯~

运行结果如下图:

 

愿你我,皆学有所成! 

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐