使用selenium模拟登陆新浪微博

1.selenium基本使用

 1.selenium安装及基本操作

selenium是一个自动化测试工具,它支持各种浏览器,包括Chrome,Safari,Firefox等主流界面浏览器驱动,也包括Phantomjs的无界面浏览器。

通过selenium+phantomjs可以直接渲染js

首先,需要下载不同浏览器的驱动,直接百度搜索就可以,例如搜过Chrome浏览器驱动,下载到本地

然后,将下载好的驱动放入到安装python的根目录下,例如C:/pyhton3/usr/bin,就是要把驱动和python.exe放在同一个文件夹。(虚拟环境也是一样,放入对应的虚拟环境下的python的根目录)

最后,通过pip安装selenium模块。

# coding = utf-8
import time
from selenium import webdriver  # 导入模块

driver = webdriver.Chrome()  # 1.声明浏览器对象
driver.get('https://www.baidu.com')  # 2. 访问地址
# dirver.get('https://www.weibo.com')
try:
    driver.save_screenshot('test.jpg')  # 3.操作。截图
finally:
    time.sleep(3)
    driver.close()  # 4.关闭浏览器

 

这里模拟一个浏览器,访问百度,并将浏览器打开后的页面进行截图。

2.元素选取

要用代码操作浏览器,访问网页,做一些操作必须要通过定位,获得要操作元素的位置,例如,要在百度输入框搜索python关键词,要经过如下操作:

首先,通过代码定位到输入框所在位置;

然后,通过代码在输入框中输入关键字

最后,通过代码实现点击搜索。

import time
from selenium import webdriver  # 导入模块

driver = webdriver.Chrome()  # 1.声明浏览器对象
driver.get('https://www.baidu.com')  # 2. 访问地址

try:
    # 通过审查元素,发现百度输入框的id为kw,
    # 通过find_element_by_id("kw")定位到该输入框
    # 通过send_keys("Python") 实现在输入框中输入关键字
    driver.find_element_by_id('kw').send_keys('python')  # 输入数据
    
    # 同样的,通过find_element_by_id定位“百度一下”按钮
    # 通过click()实现点击
    driver.find_element_by_id('su').click()
finally:
    time.sleep(30)
    driver.close()

当然,还有很多其他方式来定位:

# 通过文本,
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值