首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Selenium&Chrome实战:动态爬取51job招聘信息

Selenium3.8版本以后,已经不支持PhanTomJS了,可以使用谷歌,火狐的无头浏览器来代替PhanTomJS 使用chrome的无头浏览器,需要下载谷歌驱动chromedriver.exe chromedriver.exe...Selenium自动化测试工具,可模拟用户输入,选择,提交 爬虫实现的功能:  1  输入python,选择地点:上海,北京 ---->就去爬取上海,北京2个城市python招聘信息  2  输入会计...,选择地址:广州,深圳,杭州---->就去爬取广州,深圳,杭州3个城市会计招聘信息  3  根据输入的不同,动态爬取结果  目标分析: selenium怎么模拟用户输入关键字,怎么选择城市,怎么点击搜索按钮...城市编号,也就是说在输入"北京+上海",实际上输入的是:"010000,020000", 那这个城市编号怎么来的,这个就需要去爬取51job弹出城市选择框那个页面了,页面代码里面有城市对应的编号 获取城市编号...selenium使用chrome的无头模式,打开目标网站,返回browser对象 userInput方法        模拟用户输入关键字,选择城市,点击搜索,返回browser对象 getUrl方法

1.8K20

Selenium 动态爬取51job招聘信息

爬虫实现的功能: 输入python,选择地点:上海,北京 ---->就去爬取上海,北京2个城市python招聘信息 输入会计,选择地址:广州,深圳,杭州---->就去爬取广州,深圳,杭州3个城市会计招聘信息...根据输入的不同,动态爬取结果  二、页面分析 输入关键字 selenium怎么模拟用户输入关键字,怎么选择城市,怎么点击搜索按钮?...城市编号,也就是说在输入"北京+上海",实际上输入的是:"010000,020000", 那这个城市编号怎么来的,这个就需要去爬取51job弹出城市选择框那个页面了,页面代码里面有城市对应的编号 获取城市编号...getcity.py代码: from selenium import webdriver from selenium.webdriver.chrome.options import Options import.../usr/bin/env python # coding: utf-8 from selenium import webdriver from selenium.webdriver.chrome.options

1.3K40
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Web网页自动化实战《3.在艺龙网中,根据城市+日期+关键词精准匹配了酒店》下篇

    2、层级定位 层级定位:当自身的特征无法唯一的定位到自己,借助父级/祖先级。 通过父级/祖先级,缩小查找范围。在父级/祖先级的后辈当中,再来查找自己。 先找到你爸爸,再从你爸爸的后辈里去找你。...通过祖父级找到了自己 三、总结 1、代码 from selenium.webdriver.common.by import By from selenium import webdriver import...ele=driver.find_element(By.XPATH,'//input[@data-bindid="city"]')#定位到目的地的输入框,将刚才在写好的表达式复制过来。...# ele= 我找到的元素 # 点击操作 -- 点击目的地输入框,弹出城市选择框。 ele.click() time.sleep(2)#运行这行代码后会停留2秒,然后再去运行下一行代码。...#输入操作 --ele.send_keys("输入操作") # 获取它的属性-- ele.get_attribute("属性名称") #获取它的文本内容-- ele.text #选择热门城市当中的广州

    63420

    Selenium系列(十七) - Web UI 自动化基础实战(4)

    https://www.cnblogs.com/poloyy/category/1680176.html 其次,如果你不懂前端基础知识,需要自己去补充哦,博主暂时没有总结(虽然我也会,所以我学selenium...注意,目前的实战都是流水账式写的,后面才会结合框架+PO模式 目的是为了掌握所学的Selenium基础 实战题目 登录 http://www.51job.com 点击高级搜索 输入搜索关键词 python...代码思路(人为测试时的操作步骤) 点击【高级搜索】 关键字输入python 点击城市 显式等待,定位所有默认已选中的城市 取消选中它们 点击【北京】 点击【确定】 发现关键字输入框下方出现关键字历史记录...time import sleep from selenium import webdriver from selenium.webdriver.support.wait import WebDriverWait...from selenium.webdriver.common.by import By from selenium.webdriver.support import expected_conditions

    41710

    Selenium系列(十六) - Web UI 自动化基础实战(3)

    https://www.cnblogs.com/poloyy/category/1680176.html 其次,如果你不懂前端基础知识,需要自己去补充哦,博主暂时没有总结(虽然我也会,所以我学selenium...注意,目前的实战都是流水账式写的,后面才会结合框架+PO模式 目的是为了掌握所学的Selenium基础 实战题目 1、访问:http://www.51job.com 2、输入搜索关键词 "python"...代码思路 定位搜索框,输入python 点击【地区】 显式等待,定位所有默认已选中的城市 取消选中它们 点击【北京】 点击【确定】 点击【搜索】 定位职位列表,除了第一行 循环职位列表,获取每一行的信息存入列表...time import sleep from selenium import webdriver from selenium.webdriver.support.wait import WebDriverWait...from selenium.webdriver.common.by import By # 设置元素等待实例,最多等10秒,每0.5秒查找一次 def wait_element(driver, by

    35830

    Selenium与PhantomJS

    1.Selenium Selenium是一个Web的自动化测试工具,最初是为网站自动化测试而开发的,类型像我们玩游戏用的按键精灵,可以按指定的命令自动操作,不同是Selenium 可以直接运行在浏览器上...因为 PhantomJS 是一个功能完善(虽然无界面)的浏览器而非一个 Python 库,所以它不需要像 Python 的其他库一样安装,但我们可以通过Selenium调用PhantomJS来直接使用。...WebDriver 有点儿像可以加载网站的浏览器,但是它也可以像 BeautifulSoup 或者其他 Selector 对象一样用来查找页面元素,与页面上的元素进行交互 (发送文本、点击等),以及执行其他动作来运行网络爬虫...,我们需要再页面上模拟一些鼠标操作,比如双击、右击、拖拽甚至按住不动等,我们可以通过导入 ActionChains 类来做到: #导入 ActionChains 类 from selenium.webdriver...注意: index 索引从 0 开始 value是option标签的一个属性值,并不是显示在下拉框中的值 visible_text是在option标签文本的值,是显示在下拉框的值 全部取消选择怎么办呢

    3.5K30

    Python爬虫(二十一)_Selenium与PhantomJS

    本章将介绍使用Selenium和PhantomJS两种工具用来加载动态数据,更多内容请参考:Python学习指南 Selenium Selenium是一个Web的自动化测试工具,最初是为网站自动化测试而开发的...Selenium自己不带浏览器,不支持浏览器的功能,它需要与第三方浏览器结合在一起才能使用。但是我们有时候需要让它内嵌在代码中运行,所有我们而已用一个叫PhantomJS的工具代替真实的浏览器。...因为PhantomJS是一个功能完善(虽然无界面)的浏览器而非一个Python库,所以它不需要像Python的其它库一样安装,但我们可以通过Selenium调用PhantomJS来直接使用 PhantomsJS...("0") select.select_by_visible_text(u'未审核') 以上是三种选择下拉框的方式,它可以根据索引来选择,可以根据值来选择,可以根据文字来选择。...注意: index索引从0开始 value是option标签的一个属性值,并不是显示在下拉框中的值 visible_text实在option标签文本的值,是显示在下拉框的值 全部取消选择怎么办呢?

    2.6K101

    探索自动化测试工具:Selenium的威力与应用

    引言自动化测试已经成为现代软件开发中不可或缺的一部分。它不仅可以提高测试的效率,还可以降低错误率,帮助团队更快地交付高质量的软件。在自动化测试工具中,Selenium一直是一个备受欢迎的选择。...下面我将根据步骤,一步一步来实现自动化测试步骤1:安装Selenium首先,您需要安装Selenium库,以便在您选择的编程语言中使用。这通常可以通过包管理器来完成。...您创建了一个名为service的Selenium服务对象,通过指定Chrome浏览器驱动程序的可执行路径来配置服务。...input(): 这行代码通过调用input()函数等待用户的输入。脚本会一直保持运行状态,直到用户在命令行中输入任何字符,然后按回车键。...send_keys(‘馒头’): 一旦找到具有指定ID属性的元素(在这种情况下,是ID为 ‘kw’ 的元素,通常是百度搜索框),send_keys 方法被调用,将文本字符串 ‘馒头’ 输入到该元素中。

    55910

    scrapy结合selenium进行动态加载页面内容爬取

    动态页面与静态页面 比较常见的页面形式可以分为两种: 静态页面 动态页面 静态页面和动态页面的区别 使用requests进行数据获取的时候一般使用的是respond.text来获取网页源码,然后通过正则表达式提取出需要的内容...city=北京 右键选择查看网页源代码 ? 查看网页源代码.png 在网页源代码中查找页面中存在的一个数据:2014-02的PM10为155。 ?...有两种方式可以获取动态页面的内容: 破解JS,实现动态渲染 使用浏览器模拟操作,等待模拟浏览器完成页面渲染 由于第一个比较困难所以选择方法二 需求分析 获取各个城市近年来每天的空气质量 日期 城市 空气质量指数...city=城市名称 city_list的最后部分是text()所以它拿到的是具体的文本信息 将获取到的url_list和city_list逐个传递给scrapy.Request其中url是需要继续爬取的页面地址...,所以我选择使用谷歌的无界面浏览器chrome-headless 1from selenium import webdriver 2from selenium.webdriver.chrome.options

    2.4K41

    【UI自动化-3】UI自动化元素操作专题

    前言 在熟悉了元素定位之后,我们接下来就要学习对定位到的元素进行操作这项内容了。我简要做了个总结,如下图: ?...何为基本操作,即这些方法在WebElement接口类中定义,通过实例化的WebElement直接调用。 void click():单击目标元素。...在selenium中,是借助switchTo()函数完成的。...下面通过一个例子来进行演示,我们要实现的场景是: 打开【UI自动化测试页面】,点击超链接,在新窗口打开【UI自动化-新页面】。 在【UI自动化-新页面】的输入框输入"新页面"。...所以我们可以使用 sendKeys(Keys.TAB) 来切换元素的焦点,从而达到选择元素的作用,这个最常用到的场景就是在用户名和密码的输入过程中。

    2.8K20

    爬虫系列(9)爬虫的多线程理论以及动态数据的获取方法。

    因为 PhantomJS 是一个功能完善(虽然无界面)的浏览器而非一个 Python 库,所以它不需要像 Python 的其他库一样安装,但我们可以通过Selenium调用PhantomJS来直接使用。...WebDriver 有点儿像可以加载网站的浏览器,但是它也可以像 BeautifulSoup 或者其他 Selector 对象一样用来查找页面元素,与页面上的元素进行交互 (发送文本、点击等),以及执行其他动作来运行网络爬虫...,则继续等待我们指定的时间,如果超过了我们指定的时间还没有加载就会抛出异常,如果没有需要等待的时候就已经加载完毕就会立即执行 from selenium import webdriver url = '...虽然用上面的方法可以解决拖动滚动条的位置问题,但是有时候无法确定我需要操作的元素在什么位置,有可能每次打开的页面不一样,元素所在的位置也不一样,怎么办呢?...6 =假设一个统一的文本块。 7 =将图像作为单个文本行处理。 8 =把图像当作一个单词。 9 =把图像当作一个圆圈中的一个词来对待。 10 =将图像作为单个字符处理 -l eng 代表使用英语识别

    2.6K30

    Selenium与PhantomJS

    但是我们有时候需要让它内嵌在代码中运行,所以我们可以用一个叫 PhantomJS 的工具代替真实的浏览器。...因为 PhantomJS 是一个功能完善(虽然无界面)的浏览器而非一个 Python 库,所以它不需要像 Python 的其他库一样安装,但我们可以通过Selenium调用PhantomJS来直接使用。...WebDriver 有点儿像可以加载网站的浏览器,但是它也可以像 BeautifulSoup 或者其他 Selector 对象一样用来查找页面元素,与页面上的元素进行交互 (发送文本、点击等),以及执行其他动作来运行网络爬虫...那么前提就是要找到页面中的元素。WebDriver提供了各种方法来寻找元素。...,则继续等待我们指定的时间,如果超过了我们指定的时间还没有加载就会抛出异常,如果没有需要等待的时候就已经加载完毕就会立即执行 from selenium import webdriver url = '

    1.1K20

    python爬虫技术——小白入门篇

    例如: BeautifulSoup:使用CSS选择器或标签查找方法获取数据。 XPath:可以用在lxml库中,适合复杂HTML结构的解析。 4....动态网页处理 一些网站内容是通过JavaScript动态加载的,这种情况可以使用Selenium模拟浏览器操作。...步骤: 使用Selenium打开知乎的登录页面,输入账号密码模拟登录。 登录成功后,访问用户首页抓取动态内容。 数据解析与存储:提取动态中的关键内容并存储。...代码示例: from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.common.keys...常见反爬虫应对方法 在爬虫过程中,可能会遇到网站的反爬虫机制,以下是一些应对方法: 调整请求频率:加入延迟,防止频繁请求导致IP被封。 使用代理IP:更换IP以避免被封。

    58310

    彻底学会Selenium元素定位

    因此,本篇将详细介绍Selenium八大元素定位方法,以及在自动化测试框架中如何对元素定位方法进行二次封装,最后会给出一些在定位元素时的经验总结。...在介绍定位方式之前先来说一下定位工具,以Chrome浏览器为例,使用F12或右键检查进入开发者工具。 ID 通过元素的id属性定位,一般情况下id在当前页面中是唯一的。...只能使用精准匹配(即a标签的全部文本内容),该方法只针对超链接元素(a 标签),并且需要输入超链接的全部文本信息。...) 多个属性 通过多个属性和属性值进行匹配,解决单个属性和属性值无法定位元素唯一性的问题。...Selenium框架官方推荐使用CSS定位,因为CSS定位效率高于XPATH。 CSS是一种标记语言,控制元素的显示样式,就必须找到元素,在CSS标记语言中找元素使用CSS选择器。

    7.2K32

    使用Python轻松抓取网页

    这将返回与此XPath匹配的所有元素。注意XPath中的text()函数。该函数会提取h2元素内的文本。...它在网页抓取方面的优势源于它能够像任何浏览器一样通过运行JavaScript来呈现网页——标准的网络爬虫无法运行这种编程语言。目前Selenium已被开发人员广泛使用。...根据我们在“网络驱动和浏览器”中选择的网络驱动,我们应该输入: driver = webdriver.Chrome(executable_path='c:\path\to\windows\webdriver...在进行更复杂的项目前,我强烈建议您尝试一些附加功能: ●通过创建可生成偶数长度列表的循环来创建匹配的数据提取。 ●一次性抓取多个URL。有很多方法可以实现这样的功能。...添加“scrollto()”或使用特定的按键输入在浏览器中移动。在创建抓取模式时,很难列出所有可能的选项。 ●创建监控流程。某些网站上的数据可能对时间(甚至用户)敏感。

    13.9K20

    selenium 常见面试题以及答案

    剩下两个全能的ByXpath和ByCssSelector 我最常用的事ByXpath(或CssSelector)因为很多情况下,html标签的属性不够规范,无法通过单一的属性定位,这个时候就只能使用xpath...(selenium webdriver 干货) 在机票预定的页面,输入出发城市和到达城市输入框的时候, 发现直接使用sendkeys不好使, 大部分情况出现输入某城市后没有输入进去, 经过几天的研究,发现可以采取三种方式...先点击输入框,待弹出 城市选择框之后,点击相应的城市 2. 缓慢输入城市的缩略字母或者城市的名字的部分,会显示出待选城市的下拉列表,进而从下拉列表中选择相应的城市. 3....接下来我的输入就是选择下拉菜单中所需城市: from_inpox.clear(); from_inpox.sendKeys("BJ"); Thread.sleep...比如一个登陆页面,使用PO模式后,会创建一个LoginPage的class,该class会定义用户名输入框,密码输入框,登陆按钮的webElenent 针对相应的Element实现相应的方法,输入框是用来输入的

    3.2K20

    爬虫入门指南(4): 使用Selenium和API爬取动态网页的最佳方法

    这使得动态网页的内容无法通过简单地下载HTML源码来获取,而需要模拟浏览器行为来执行脚本并获取最终呈现的内容。...步骤2:创建WebDriver对象 在Python中,可以通过导入selenium模块,并使用相应的驱动程序创建一个WebDriver对象来控制浏览器的行为。...创建WebDriver对象 在Python中,使用相应的驱动程序创建一个WebDriver对象。...输入文本框中输入文本: 示例: # 通过元素定位找到文本框元素,并输入文本 "Hello World" element = driver.find_element_by_id("textbox") element.send_keys...driver.quit() 使用API获取动态数据 除了使用Selenium模拟浏览器操作来获取动态网页的内容之外,有些网站也提供了API接口,通过调用该接口可以直接获取动态数据。

    2.3K10

    猫头虎分享:Python库 Selenium 的简介、安装、用法详解入门教程

    摘要 在这篇文章中,我们将从头到尾深入讲解 Selenium 的使用,包括如何安装、使用,以及处理常见的 Bug。...---- 什么是 Selenium? Selenium 是一个用于自动化浏览器行为的工具,它能模拟用户在浏览器中的操作,如点击、输入、页面跳转等。...它不仅支持多种浏览器(如 Chrome、Firefox 等),还可以使用多种编程语言进行调用,其中 Python 是最受欢迎的选择之一。 核心功能 网页抓取:自动化抓取网页数据。...可以通过以下命令来进行安装: pip install selenium 完成安装后,你就可以在 Python 脚本中使用 Selenium 了!...可以通过不同的方式来找到网页元素,比如通过 id、name、class name 等属性,找到元素后即可对其进行操作,比如点击、输入文本等。

    20110

    【Python爬虫】写一个爬取中国天气网的终端版天气预报爬虫

    感谢万能的百度,我查到了全国3400多个区县的id。 为了方便查询,我将各个城市与其对应的id保存到了一个.xlsx文件中,需要的朋友可以后台回复"天气预报"获取。...在获取当日天气网站时我发现返回的当日天气信息是空标签。...选择它的理由当然是因为简单, Selenium可以非常容易的爬取动态网页,并且搜索节点的方法与之前在静态网页中使用的方法一样。...运用到爬虫中的思路是: 使用Selenium 渲染网页,解析渲染后的网页源码,或者直接通过Selenium 接口获取页面中的元素。 通过以下代码,我们就获得了某一城市的当日网站的HTML文件。...使用方法:在终端窗口运行程序,输入查询的区县名称(如:丰台、静安等)。 如果觉得本文还可以,还请各位点个在看。

    2.7K31
    领券