python实战项目 — selenium登陆豆瓣
2024-10-21 03:39:48
利用selenium 模仿浏览器,登陆豆瓣
重点:
1. 要设置好 chromedriver配置与使用, chromedriver.exe 和 Chrome的浏览器版本要对应, http://chromedriver.storage.googleapis.com/index.html
2. Js代码写完可以在浏览器F12的控制台交互测试一下
from selenium import webdriver
import time driver = webdriver.Chrome()
driver.get('https://www.douban.com/')
driver.implicitly_wait(1) # 切换iframe子框架
driver.switch_to.frame(driver.find_elements_by_tag_name("iframe")[0]) # 最大化窗口
driver.maximize_window()
# 点击密码登录的标签
driver.find_element_by_css_selector('li.account-tab-account').click() # 输入账号之前清理默认的字符
driver.find_element_by_id('username').clear()
driver.find_element_by_id('username').send_keys('17620xxxxx')
driver.find_element_by_id('password').clear()
driver.find_element_by_id('password').send_keys('123456@#') # 点击‘登录豆瓣’按钮
# 这里需要注意,当元素的class属性有好几个的时候,此函数的参数填class的第一个就好
# 元素的class属性:btn btn-account
driver.find_element_by_class_name('btn').click()
time.sleep(2) # 向下滚动10000像素,JS写法,可以直接在F12控制台做交互测试代码准确性
js = 'document.documentElement.scrollTop=10000'
#js = 'var q=document.documentElement.scrollTop=10000'
driver.execute_script(js) driver.implicitly_wait(5)
# 停2秒后,抓取快照
driver.save_screenshot('D:\\douban.jpg') # 保存源码
with open('D:\\douban_shouye.html', 'w', encoding='utf-8') as f:
f.write(driver.page_source) driver.quit()
print('wanle')
最新文章
- [LeetCode] Lexicographical Numbers 字典顺序的数字
- Redis学习和环境搭建
- EditText光标颜色设置
- ajax浅析---ScriptManagerProxy
- 手机web站点和手机app 技术选型的困惑于思考
- [问题2014S06] 解答
- Hibernate的Restrictions用法
- hadoop 2.0 lzo 问题
- Unity3D知识点
- BZOJ 3038 上帝造题的七分钟2 (并查集+树状数组)
- 定位(position)
- 工艺成型及仿真、铸造工艺及仿真ProCAST软件入门认识介绍
- simple-spa 一个简单的单页应用实例
- layui loading
- js replaceAll全部替换
- Atcoder Grand 011 C - Squared Graph
- UVALive 6467
- SSH命令详解2
- 2018.4.23 linux系统
- STM32F4: GENERATING A SINE WAVE
热门文章
- react基本语法及组件
- 微信小程序搜索框代码组件
- 配置vue项目将打包后图片文件的引用路径改为cdn路径?
- 刷题记录:[CISCN2019 华北赛区 Day1 Web1]Dropbox
- hdu1002 A + B Problem II[大数加法]
- ubuntu之路——day17.2 RGB图像的卷积、多个filter的输出、单个卷积层的标记方法
- IDEA实现SpringBoot热部署
- js中isNaN和Number.isNaN的区别
- SQLSERVER根据提成比率区间计算业绩提成
- SQLServer数据库之SQL Server 获取本周,本月,本年等时间内记录