工作笔记2——利用selenium完成对网站上的数据爬取

读取配置文件

因为有时候我们的代码中往往需要一些配置参数,如需要连接的ftp的服务器地址,用户名和密码等,当我们换一个ftp时,则只需改配置文件即可,不用再去代码中改,比较方便。python中有很方便的模块能够进行配置文件的读取,如configparser模块,它的使用方法详见此链接
我使用的时候该模块名称变为configparser,有些出入,估计是版本更新问题,但里面的函数都能正常使用。

	import configparser
	
	# 读取配置文件
	cf=configparser.ConfigParser()
	cf.read(".\config\\settings.ini")
	cf.sections()
	server = cf.get("ftp", "server")
	user = cf.get("ftp", "user")
	pwd = cf.get("ftp", "pwd")
	filepath = cf.get("ftp", "filepath")

利用profile保存用户名和密码

当我们需要处理使用用户名和密码登录的时候,虽然可以使用selenium中的sendkeys,但是这样用户名和密码就会暴露在代码中,或者说我们定位不到弹出来的Windows原生登录框,其实我们还可以使用一种方法,那就是利用火狐浏览器的profile文件存储我们的用户名和密码(前提是先开启浏览器登陆一次,并点击保存用户名和密码),步骤如下(或参考链接):

  • 首先关闭所有已经打开的firefox浏览器
  • cd到Mozilla Firefox文件夹下,输入firefox -p命令
    输入firefox -p命令
  • 在弹出的Firefox choose user profile对话框中点击create profile
  • 选择此新profile文件需要保存的路径,并命名
  • 点击start firefox,利用该profile启动新firefox
  • 输入需要浏览的网址,输入用户名和密码后,点击保存用户名和密码
  • 之后利用该profile文件便可不用输入用户名和密码就能登录了
        # 设置profile
        profile = webdriver.FirefoxProfile("YOUR_PROFILE_PATH")
        # 设置默认下载路径
        profile.set_preference("browser.download.dir", os.getcwd() + "\downloads")
        profile.set_preference("browser.download.folderList", 2)
        profile.set_preference("browser.download.manager.showWhenStarting", False)
        profile.set_preference("browser.helperApps.neverAsk.saveToDisk",
                               "application/octet-stream, application/vnd.ms-excel, text/csv, application/zip")
        # 利用该profile开启Firefox浏览器
        self.driver = webdriver.Firefox(profile)

鼠标悬停显示二级菜单,再点击二级菜单或下拉列表

参见此链接

下拉菜单的定位

参见此链接

selenium根据文本信息定位元素

参见此链接

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值