Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >python之selenium

python之selenium

作者头像
机器学习和大数据挖掘
发布于 2019-07-02 02:49:08
发布于 2019-07-02 02:49:08
56900
代码可运行
举报
文章被收录于专栏:数据挖掘数据挖掘
运行总次数:0
代码可运行

selenium是处理异步加载的一种方法

总的来说是操作浏览器访问来获取自己想要的资料

优点是浏览器能看到的都能爬下来,简单有效,不需要深入破解网页加载形式 

缺点是加载的东西太多,导致爬取速度变慢

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 1 #!/usr/bin/python3.4
 2 # -*- coding: utf-8 -*-
 3 
 4 from selenium import webdriver
 5 import time
 6 
 7 # http://www.cnblogs.com/fnng/p/3238685.html
 8 # 打开火狐浏览器
 9 browser = webdriver.Firefox()
10 
11 # 输入网址
12 browser.get("http://www.baidu.com")
13 # 根据各自网速来判断网址加载时间
14 time.sleep(1)
15 
16 # 输入框
17 # <input id="kw" class="s_ipt" type="text" maxlength="100" name="wd" autocomplete="off">
18 
19 # 清空输入框
20 browser.find_element_by_id("kw").clear()
21 
22 # 通过id方式定位
23 browser.find_element_by_id("kw").send_keys("selenium")
24 # 通过name方式定位
25 # browser.find_element_by_name("wd").send_keys("selenium")
26 # 通过tag name方式定位
27 # browser.find_element_by_tag_name("input").send_keys("selenium")
28 # 通过class name 方式定位
29 # browser.find_element_by_class_name("s_ipt").send_keys("selenium")
30 # 通过CSS方式定位
31 # browser.find_element_by_css_selector("#kw").send_keys("selenium")
32 # 通过xphan方式定位
33 # browser.find_element_by_xpath("//input[@id='kw']").send_keys("selenium")
34 
35 # 点击“百度一下”
36 browser.find_element_by_id("su").click()
37 
38 # 下面就是xpath的知识了
39 # 想找那个网页的什么东西自己写xpath
40 # 可以参考前面的博客:http://www.cnblogs.com/TTyb/p/5832790.html
41 print(browser.find_element_by_xpath("//a"))
42 time.sleep(5)
43 browser.quit()
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 获得当前html
html = browser.page_source
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2016-09-05 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
2万字带你了解Selenium全攻略
今天带大家一起学(复)习模拟浏览器运行的库Selenium,它是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE(7, 8, 9, 10, 11),Mozilla Firefox,Safari,Google Chrome,Opera和Edge等。
可以叫我才哥
2021/12/28
3.2K0
2万字带你了解Selenium全攻略
python+selenium实现Web自动化
最近问我自动化的人确实有点多,个人突发奇想:想从0开始讲解python+selenium实现Web自动化测试,请关注博客持续更新!
conanma
2021/09/07
3.6K0
Python 爬虫(四):Selenium 框架
Selenium 是一个用于测试 Web 应用程序的框架,该框架测试直接在浏览器中运行,就像真实用户操作一样。它支持多种平台:Windows、Linux、Mac,支持多种语言:Python、Perl、PHP、C# 等,支持多种浏览器:Chrome、IE、Firefox、Safari 等。
Python小二
2020/08/18
1.2K0
Python 爬虫(四):Selenium 框架
爬虫selenium+chromdriver
由于requests模块是一个不完全模拟浏览器行为的模块,只能爬取到网页的HTML文档信息,无法解析和执行CSS、JavaScript代码,因此需要我们做人为判断;
菲宇
2019/06/11
2.4K0
【测试】Selenium Webdriver API
更多操作: http://selenium-python.readthedocs.io/api.html#module-selenium.webdriver.remote.webelement
瑞新
2020/07/07
2.6K0
selenium 基本用法
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
云雀叫了一整天
2019/09/29
4470
利用selenium爬取《西虹市首富影评》
'https://movie.douban.com/subject/27605698/comments?status=P' 使用工具:python+selenium 首先,很简单的,我们得使用sele
我被狗咬了
2019/09/23
7580
利用selenium爬取《西虹市首富影评》
全网最全关于selenium webdriver 8大元素定位详解
元素的定位应该是自动化测试的核心,想要操作一个元素,首先应该识别这个元素。Webdriver提供了一系列的元素定位方法。
全栈程序员站长
2022/06/29
1.9K0
全网最全关于selenium webdriver 8大元素定位详解
Selenium-02-常用元素定位
2.根据class name ---->find_element_by_name()
wencheng
2020/09/28
5460
网络爬虫 | selenium 爬取动态加载信息
使用selenium实现动态渲染页面的爬取。selenium是浏览器自动测试框架,模拟浏览器,驱动浏览器执行特定的动作,并可获取浏览器当前呈现的页面的源代码,可见即可爬。该工具支持IE浏览器、Mozilla Firefox及Google Chrome等。
数据STUDIO
2021/06/24
1.3K0
软件测试/人工智能|selenium元素定位方式大全
当我们在使用selenium进行自动化测试工作时,元素定位是非常重要的一环,因为我们是借助脚本模拟我们通过鼠标和键盘对元素进行点击、输入内容和滑动操作的,所以准确的元素定位是我们执行测试脚本的重要一环。本文就来给大家介绍一下selenium的元素定位方式。
霍格沃兹测试开发Muller老师
2023/12/14
4550
Selenium元素定位
find_element_by_id() find_element_by_name() find_element_by_class_name() find_element_by_tag_name() find_element_by_link_text() find_element_by_partial_link_text() find_element_by_xpath() find_element_by_css_selector() 在这里将对各种元素定位方式统一使用百度首页进行示例,详细操作步骤有以下内容: 1.打开浏览器,进入百度首页(www.baidu.com); 2.百度页面输入关键字 www.testclass.cn 进行搜索; 3.关闭浏览器; 首先,通过前端工具(火狐浏览器的Firebug)或者直接按F12进入开发者模式查看具体前端代码:
Altumn
2019/10/21
1.2K0
Selenium元素定位
Python Selenium库的使用「建议收藏」
Selenium是一个用于测试网站的自动化测试工具,支持各种浏览器包括Chrome、Firefox、Safari等主流界面浏览器,同时也支持phantomJS无界面浏览器。
全栈程序员站长
2022/07/29
4.5K0
Python Selenium库的使用「建议收藏」
Amazon后台登陆以及跟卖
亚马逊模拟登陆,这里使用的是selenium来登陆,并判断是否登陆成功,以及是否有验证码,并破解验证码登陆。
机器学习和大数据挖掘
2019/07/02
1.6K0
Amazon后台登陆以及跟卖
《手把手带你学爬虫──初级篇》第5课 Selenium WebDriver的用法
Selenium 是一个自动化测试工具,WebDriver是它提供的一套操作浏览器的API,由于WebDriver针对多种编程语言都实现了这些API,因此它可以支持多种编程语言。
GitOPEN
2019/01/29
2.7K0
《手把手带你学爬虫──初级篇》第5课  Selenium WebDriver的用法
Python爬虫——Selenium
安装chromium 官方下载地址是http://chromedriver.chromium.org/downloads,注意需要和本地安装的Chrome浏览器版本相匹配。如当前ChoreDriver2.42支持的Chrome版本是v68到v70
羊羽shine
2019/05/29
9190
python爬虫---从零开始(六)Selenium库
  自动化测试工具,支持多种浏览器。支持的浏览器包括IE(7, 8, 9, 10, 11),Mozilla Firefox,Safari,Google Chrome,Opera等。
小菜的不能再菜
2019/09/18
1.2K0
python爬虫---从零开始(六)Selenium库
8.9 Selenium元素定位方式
元素的定位应该是自动化测试的核心,要想操作一个元素,首先应该识别这个元素象。webdriver提供了一系列的对象定位方法,常用的有以下几种:
清风穆云
2021/08/09
1.4K0
用python操作浏览器的三种方式
第一种:selenium导入浏览器驱动,用get方法打开浏览器,例如: import time from selenium import webdriver def mac():     driver = webdriver.Firefox()     driver.implicitly_wait(5)     driver.get("http://huazhu.gag.com/mis/main.do") 第二种:通过导入python的标准库webbrowser打开浏览器,例如: >>> import webbrowser >>> webbrowser.open("C:\\Program Files\\Internet Explorer\\iexplore.exe") True >>> webbrowser.open("C:\\Program Files\\Internet Explorer\\iexplore.exe") True  第三种:使用Splinter模块模块 一、Splinter的安装 Splinter的使用必修依靠Cython、lxml、selenium这三个软件。所以,安装前请提前安装 Cython、lxml、selenium。以下给出链接地址: 1)http://download.csdn.net/detail/feisan/4301293 2)http://code.google.com/p/pythonxy/wiki/AdditionalPlugins#Installation_no 3)http://pypi.python.org/pypi/selenium/2.25.0#downloads 4)http://splinter.cobrateam.info/ 二、Splinter的使用   这里,我给出自动登录126邮箱的案例。难点是要找到页面的账户、密码、登录的页面元素,这里需要查看126邮箱登录页面的源码,才能找到相关控件的id.   例如:输入密码,密码的文本控件id是pwdInput.可以使用browser.find_by_id()方法定位到密码的文本框, 接着使用fill()方法,填写密码。至于模拟点击按钮,也是要先找到按钮控件的id,然后使用click()方法。 #coding=utf-8   import time   from splinter import Browser  def splinter(url):   browser = Browser()      #login 126 email websize    browser.visit(url)       #wait web element loading   time.sleep(5)      #fill in account and password   browser.find_by_id('idInput').fill('xxxxxx')  browser.find_by_id('pwdInput').fill('xxxxx')      #click the button of login    browser.find_by_id('loginBtn').click()       time.sleep(8)       #close the window of brower       browser.quit()   if __name__ == '__main__':       websize3 ='http://www.126.com'       splinter(websize3)  WebDriver简介 selenium从2.0开始集成了webdriver的API,提供了更简单,更简洁的编程接口。selenium webdriver的目标是提供一个设计良好的面向对象的API,提供了更好的支持进行web-app测试。从这篇博客开始,将学习使用如何使用python调用webdriver框架对浏览器进行一系列的操作 打开浏览器 在selenium+python自动化测试(一)–环境搭建中,运行了一个测试脚本,脚本内容如下: from selenium import webdriver import time driver = webdriver.Chrome() driver.get("http://www.baidu.com") print(driver.title) driver.find_element_by_id("kw").send_keys("s
py3study
2020/01/06
8.5K0
用python操作浏览器的三种方式
python爬虫从入门到放弃(八)之 Selenium库的使用
本文主要介绍了如何通过Python的Selenium库来自动化操作浏览器,包括打开浏览器、输入网址、获取页面元素、模拟用户操作等。同时,还介绍了如何通过调用JavaScript来实现更复杂的操作。
coders
2018/01/04
3.1K0
python爬虫从入门到放弃(八)之 Selenium库的使用
相关推荐
2万字带你了解Selenium全攻略
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档