selenium

  • selenium:可以让浏览器完成相关自动化的操作
  • 环境安装:
    • pip install selenium
  • 编码流程:
    • 导包
    • 创建某一款浏览器对象
    • 制定相关的行为动作
from selenium import webdriver
from time import sleep
bro = webdriver.Chrome(executable_path=r'C:\Users\old-boy\Desktop\爬虫+数据\爬虫_day04\chromedriver.exe')
sleep(3)
bro.get('https://www.baidu.com/')
sleep(3)
#find系列的函数可以帮助我们定位到相关的标签
text_input = bro.find_element_by_id('kw')
#向文本框中录入一个关键字
text_input.send_keys('中国')
sleep(3)
btn = bro.find_element_by_id('su')
btn.click()
sleep(3)
#获取当前浏览器显示的页面源码数据(动态加载的数据)
page_text = bro.page_source
print(page_text)
bro.quit()
#爬取更多的电影详情数据(豆瓣)
bro = webdriver.Chrome(executable_path=r'C:\Users\old-boy\Desktop\爬虫+数据\爬虫_day04\chromedriver.exe')
bro.get('https://movie.douban.com/typerank?type_name=%E7%88%B1%E6%83%85&type=13&interval_id=100:90&action=')
sleep(3)
bro.execute_script('window.scrollTo(0,document.body.scrollHeight)')
sleep(3)
bro.execute_script('window.scrollTo(0,document.body.scrollHeight)')
sleep(3)
bro.execute_script('window.scrollTo(0,document.body.scrollHeight)')
#获取浏览器当前的页面源码数据
page_text = bro.page_sourcewith open('douban.html','w',encoding='utf-8') as fp:fp.write(page_text)
sleep(3)
bro.quit()

phantomJs:浏览器(无可视化界面)

#爬取更多的电影详情数据(豆瓣)
bro = webdriver.PhantomJS(executable_path=r'C:\Users\old-boy\Desktop\爬虫+数据\tools\phantomjs-2.1.1-windows\bin\phantomjs.exe')
bro.get('https://movie.douban.com/typerank?type_name=%E7%88%B1%E6%83%85&type=13&interval_id=100:90&action=')
sleep(3)
bro.save_screenshot('./1.png')
bro.execute_script('window.scrollTo(0,document.body.scrollHeight)')
sleep(3)
bro.execute_script('window.scrollTo(0,document.body.scrollHeight)')
sleep(3)
bro.execute_script('window.scrollTo(0,document.body.scrollHeight)')
bro.save_screenshot('./2.png')
#获取浏览器当前的页面源码数据
page_text = bro.page_sourcewith open('douban.html','w',encoding='utf-8') as fp:fp.write(page_text)
sleep(3)
bro.quit()

谷歌无头浏览器

from selenium.webdriver.chrome.options import Options
chrome_options = Options()
chrome_options.add_argument('--headless')
chrome_options.add_argument('--disable-gpu')bro = webdriver.Chrome(executable_path=r'C:\Users\old-boy\Desktop\爬虫+数据\爬虫_day04\chromedriver.exe',chrome_options=chrome_options)
sleep(3)
bro.get('https://www.baidu.com/')
sleep(3)
#find系列的函数可以帮助我们定位到相关的标签
text_input = bro.find_element_by_id('kw')
#向文本框中录入一个关键字
text_input.send_keys('中国')
sleep(3)
btn = bro.find_element_by_id('su')
btn.click()
sleep(3)
#获取当前浏览器显示的页面源码数据(动态加载的数据)
page_text = bro.page_source
print(page_text)
bro.quit()

登录qq空间

bro = webdriver.Chrome(executable_path=r'C:\Users\old-boy\Desktop\爬虫+数据\爬虫_day04\chromedriver.exe')
bro.get('https://qzone.qq.com/')
sleep(3)
#注意:如果想要通过find系列函数去定位某一个iframe标签下的子标签的话,一定要使用如下操作:
bro.switch_to.frame('login_frame')#参数表示的是iframe标签的id属性值bro.find_element_by_id('switcher_plogin').click()
sleep(3)bro.find_element_by_id('u').send_keys('592888935')
bro.find_element_by_id('p').send_keys('hmw112626')
sleep(3)
bro.find_element_by_id('login_button').click()
print(bro.page_source)
sleep(3)
bro.quit()

转载于:https://www.cnblogs.com/zhang-zi-yi/p/10749414.html

selenium 使用相关推荐

  1. Python:Selenium和PhantomJS

    Selenium Selenium是一个Web的自动化测试工具,最初是为网站自动化测试而开发的,类型像我们玩游戏用的按键精灵,可以按指定的命令自动操作,不同是Selenium 可以直接运行在浏览器上, ...

  2. python+selenium浏览器常用操作(一)

    1.导入selenium自定义的webdriver.后续可通过调用此协议启动各大浏览器 from selenium import webdriver #浏览器 from selenium.webdri ...

  3. selenium 不同版本Driver

    selenium进行UI自动化测试需要Driver支持,不同的浏览器需要不同的Driver,之前使用的Driver可以正常运行,但是总会报一些莫名的问题,经过查找,原来IE的Driver需要与sele ...

  4. selenium+Python(鼠标和键盘事件)

    本篇总结了 web 页面常用的一些操作元素方法,可以统称为行为事件 有些 web 界面的选项菜单需要鼠标悬停在某个元素上才能显示出来(如百度页面的设置按钮). 1 简单操作 1.点击(鼠标左键)页面按 ...

  5. web自动化测试从入门到持续集成(selenium webdriver)

    在很多刚学习自动化的可能会认为我只需要会运用selenium,我只需要在一个编辑器中实用selenium +java编写了一些脚本那么就会自动化了,是真的吗?答案肯定是假的.自动化肯定是需要做到真的完 ...

  6. 「UI 测试自动化selenium」汇总

    <selenium 基础之java实现> selenium RC 环境配置 菜鸟学自动化测试(一)----selenium IDE 菜鸟学自动化测试(二)----selenium IDE ...

  7. java selenium_java+selenium,40行代码完成支付宝账单爬取

    java+selenium,40行代码完成支付宝账单爬取 需要jar selenium-server-4.0.0-alpha-5.jar 需要驱动 chromedriver.exe 驱动需要和浏览器版 ...

  8. linux firefox xvfb,自动化测试之linux+xvfb+selenium+firefox+python测试环境搭建与测试

    1. Xvfb 为一个X虚拟框架,这个框架使用虚拟内存能让linux系统图形界面服务器(X-Server)运行在没有显示设备的机器上,这样,浏览器就可以运行了. (1) 安装xvfb 需根据自己lin ...

  9. python get请求 由于目标机器_使用python和selenium进行Web抓取:由于目标机器主动拒绝i...

    我知道这个错误已经被讨论了很多,但似乎每种情况都有不同的原因. 我使用下面的代码和selenium从一个网站提取一些数据,并在第二次调用浏览器.get(url).在import openpyxl, o ...

  10. 在CentOS 7.7 x86_64上安装python3的selenium 3模块实录

    安装selenium3模块 pip3 install selenium 如果上面的命令因为网络问题,重试多次仍失败,可以尝试下面的命令 pip3 install selenium -i http:// ...

最新文章

  1. 很喜欢的一首歌曲《Take me to your heart》
  2. 实验:基于keepalived实现两台realserver服务器中的nginx和php-fpm服务互为主从
  3. spring扩展点四:SmartInitializingSingleton的应用
  4. 4*4矩阵键盘的扫描原理
  5. 基于Bootstrap模板创建门户网站vue项目02
  6. no tests were found异常springBoot配置
  7. 看了这些 Go2 错误处理的提案,我真的会谢
  8. WPF学习第十二集-绘图和动画
  9. 处理WIN7任务栏通知区域图标异常问题
  10. 嵌入式Linux开发8——UART串口通讯
  11. 用火狐浏览器看b站视频默认没有声音
  12. 带时间轴的文章归档的html页面,WordPress纯CSS打造时间轴归档页面
  13. Python+Django实现基于人脸识别的门禁管理系统,附带源码!!
  14. mysql分库分表篇
  15. 微信小程序按钮实现点击复制功能的步骤
  16. matlab 将txt导入excel,[转载]MATLAB  批量导入excel和txt文件的方法
  17. VS平台账号注册机--源码--详细文档--分析-原理-实现
  18. 关于异或的判断奇数还是偶数的性质。
  19. svm车牌定位matlab,基于SVM的车牌区域定位系统研究
  20. Python编程快速上手 让繁琐工作自动化 | 第三章 :实践项目

热门文章

  1. Super Saiyan 寻找创业合伙人
  2. 灵机一动之优雅实现用例顺序插入
  3. 以太坊是什么鬼?!媲美比特币的加密币大揭秘
  4. 如何让隐藏在大数据背后的价值发挥出来?
  5. Java - 经常使用函数Random函数
  6. pcDuino–voip服务器设置呼叫彩铃
  7. 基于DOS的ipc$最详攻略。
  8. dsp 正弦波信号发生器matlab程序,基于Matlab/DSP Builder多波形信号发生器的设计
  9. 开机登录时取消Ctrl+Alt+Delete
  10. struts2.xml中使用chain和redirectAction这两个注意事项