Python从配置文件读取http url链接地址并自动用浏览器打开链接

Python从配置文件读取http url链接地址并自动用浏览器打开链接

假设现在名为address.txt中每行每行的写入以下字符串:

https://zhangphil.blog.csdn.net
zhang
http://baidu.com
phil
https://zhangphil.blog.csdn.net

用Python的webbrowser自动打开address.txt中合法的url链接地址。代码如下:

import logging
import re
import webbrowser

logging.basicConfig(level=logging.DEBUG,
                    format='%(asctime)s - %(levelname)s - %(message)s')


def read_file(filename):
    f = open(filename, "r")

    addrs = []

    for line in f:
        #Python正则匹配合法URL,否则不予访问。
        #注意,该正则只能匹配以http开头的合法url链接,若以www开头则不能匹配。
        #比如,www.baidu.com该正则匹配返回False,但是www.baidu.com实际上是可以访问。
        if re.match(r'^https?:/{2}\w.+$', line):
            #检测该链接地址(line)是否在已访问列表中。若没有打开过,则打开,否则不再打开。
            if line not in addrs:
                visit(line)

                #访问后把该链接地址加入addrs。
                addrs.append(line)
            else:
                logging.info(line+"已经打开过")
        else:
            logging.info(line+"非法URL")

    f.close()


#根据合法的url链接地址访问具体的网站。
def visit(addr):
    try:
        #用浏览器打开链接地址。
        webbrowser.open(addr)
    except:
        logging.debug("访问错误-"+addr)

if __name__ == '__main__':
    read_file("address.txt")

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
#coding:utf-8 import time import webbrowser as web import os import random #随机选择一个浏览器打开网页 def open_url_use_random_browser(): #定义要访问的地址 url='http://www.baidu.com' #定义浏览器路径 browser_paths=[r'C:\Program Files (x86)\Mozilla Firefox\firefox.exe', #r'C:\Program Files (x86)\Google\Chrome\Application\chrome.exe', #r'C:\Program Files (x86)\Opera\launcher.exe', #r'C:\Users\Administrator\AppData\Roaming\qianying\qianying.exe', #r'C:\Users\Administrator\AppData\Local\115Chrome\Application\115chrome.exe', #r'C:\Program Files (x86)\Internet Explorer\iexplore.exe', #r'D:\Program Files(x86)\SouExplorer\SogouExplorer\SogouExplorer.exe' ] #选择一个浏览器 def chose_a_browser_open_url(browser_path,url): #如果传入的浏览器位置不存在,使用默认的浏览器打开 if not browser_path: print ('using default browser to open') web.open_new_tab(url)#使用默认浏览器,就不再结束进程 else: #判断浏览器路径是否存在 if not os.path.exists(browser_path): print ('current browser path not exists,using default browser') #浏览器位置不存在就使用默认的浏览器打开 browser_path='' chose_a_browser_open_url(chose_a_browser_open_url,url) else: browser_task_name=browser_path.split('\\')[-1]#结束任务的名字 browser_name=browser_task_name.split('.')[0]#自定义的浏览器代号 print (browser_name) web.register(browser_name, None,web.BackgroundBrowser(browser_path)) web.get(browser_name).open_new_tab(url)#使用新注册的浏览器打开网页 print ('using %s browser open url successful' % browser_name) time.sleep(5)#等待打开浏览器 # kill_cmd='taskkill /f /IM '+browser_task_name#拼接结束浏览器进程的命令 # os.system(kill_cmd) #终结浏览器 browser_path=random.choice(browser_paths)#随机从浏览器中选择一个路径 chose_a_browser_open_url(browser_path,url) if __name__ == '__main__': print (''''' ***************************************** ** Welcome to python of browser ** ** Created on 2019-04-28 ** ** @author: Louise_ZOU ** ***************************************** ''') open_url_use_random_browser()
Python UI自动化测试通常需要使用配置文件来保存测试过程中需要使用的各种配置项,例如测试URL、测试账号密码、浏览器驱动路径等。常见的配置文件格式有INI、JSON、YAML等。 下面以INI格式的配置文件为例,介绍如何在Python UI自动化测试中使用配置文件: 1. 创建配置文件 在项目的根目录下创建一个名为 `config.ini` 的文件,并在文件中添加需要用到的配置项,例如: ```ini [login] username = admin password = 123456 [web] url = https://www.example.com browser = chrome driver_path = /path/to/chromedriver ``` 在上面的示例中,我们定义了两个配置项,一个是登录信息,包括用户名和密码;另一个是Web测试信息,包括URL浏览器类型和浏览器驱动路径。 2. 读取配置文件Python UI自动化测试中,我们可以使用Python内置的configparser模块来读取INI格式的配置文件。具体使用方法如下: ```python import configparser # 创建ConfigParser对象 config = configparser.ConfigParser() # 读取配置文件 config.read('config.ini') # 获取配置项中的值 username = config.get('login', 'username') password = config.get('login', 'password') url = config.get('web', 'url') browser = config.get('web', 'browser') driver_path = config.get('web', 'driver_path') ``` 在上面的示例中,我们首先创建了一个ConfigParser对象,然后使用 `config.read()` 方法来读取配置文件。最后,使用 `config.get()` 方法来获取配置项中的值。 3. 在测试中使用配置项 在实际的测试中,我们可以使用读取到的配置项来进行测试,例如: ```python from selenium import webdriver # 创建浏览器驱动 if browser == 'chrome': driver = webdriver.Chrome(executable_path=driver_path) elif browser == 'firefox': driver = webdriver.Firefox(executable_path=driver_path) # 打开网页 driver.get(url) # 输入登录信息 username_field = driver.find_element_by_name('username') username_field.send_keys(username) password_field = driver.find_element_by_name('password') password_field.send_keys(password) password_field.submit() # 进行其他测试操作 # ... ``` 在上面的示例中,我们根据配置文件中的浏览器类型和驱动路径来创建浏览器驱动对象,并根据配置文件中的URL打开网页。我们还使用配置文件中的登录信息来输入用户名和密码进行登录。 通过使用配置文件,我们可以方便地管理测试过程中需要使用的各种配置项,并且在需要修改配置时只需要修改配置文件即可,不需要修改测试代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值