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

「Python爬虫系列讲解」八、Selenium 技术

下拉菜单交互操作 6.2 Window 和 Frame 间对话框的移动 7 本文小结 ---- Selenium 是一款用于测试 Web 应用程序的经典工具,它直接运行在浏览器中,仿佛真正的用户在操作浏览器一样...类似于前几期文章讲到的 BeautifulSoup 技术,Selenium 制作的爬虫也是先分析网页的 HTML 源码和 DOM 树结构,在通过其所提供的方法定位到所需信息的节点位置,并获取其文本内容。...CSS 选择器(CSS Selector)定位元素将返回第一个与 CSS 选择器匹配的元素。...方法 含义 size 获取元素的尺寸 text 获取元素的文本 location 获取元素的坐标,先找到要获取的元素,再调用该方法 page_source 返回页面源码 title 返回页面标题 current_url...elem 上 click_and_hold(elem) 按下鼠标左键并悬停在元素 elem 上 perform() 执行 ActionChains 类中的存储操作,弹出对话框 6 导航控制 下面介绍

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

    爬虫学习(三)

    我们选择元素,右键使用copy XPath的时候,可能此语句在后端代码中无法执行(无法查找到指定的元素),这时就需要使用XPath语法对其进行修改,这也就是为什么有这么方便的工具我们仍然要学习语法。...4.利用多线程分布式: 在不被ban的请求下尽可能的提高速度。 4.3动态HTML技术了解 JS:是网络上最常用的脚本语言。...4.4Selenium Selenium是一个Web的自动化测试工具,最初是为网站自动化测试而开发的,Selenium 可以直接运行在浏览器上,它支持所有主流的浏览器(包括PhantomJS这些无界面的浏览器...selenium的安装: sudo pip3 install selenium Chrome浏览器驱动的安装: http://blog.csdn.net/huilan_same/article/details...页面中包含部分文本『hao』的元素点一下: hao = driver.find_element_by_partial_link_text('hao') hao.click() 使用css选择器查找元素:

    5.7K30

    用python操作浏览器的三种方式

    难点是要找到页面的账户、密码、登录的页面元素,这里需要查看126邮箱登录页面的源码,才能找到相关控件的id.  ...IE浏览器中,打开页面后,在页面上点击鼠标右键,会有“查看源代码”的选项,点击后就会进入页面源码页面,在这里就可以找到页面的所有元素 使用Chrome浏览器打开页面后,在浏览器的地址栏右侧有一个图标...例如要定位“新闻”,找到元素的代码,有一个href的属性,这是点击后打开的页面 新闻 使用link_text查找元素,参数为元素的文本信息 news = driver.find_element_by_link_text...'kw'][name='wd']") 在元素内定义的属性,都可以使用css来定位,使用其他几种方式无法定位到元素时,可以使用css,够强大!...使用xpath定位 XPath是一种在XML文档中定位元素的语言。因为HTML可以看做XML的一种实现,所以selenium用户可是使用这种强大语言在web应用中定位元素。

    8.4K51

    如何在Selenium WebDriver中查找元素?(一)

    在Selenium WebDriver中查找元素:定位器策略/定位器类型 定位器策略可以是以下用于查找元素或FindElements的类型之一– ID Name ClassName TagName Link...让我们继续前进,看看如何使用LinkText查找元素 通过链接查找文本/部分链接 使用这种方法,可以找到带有链接名称或具有匹配的部分链接名称的“ a ”标签( Link )的元素。...(link_text>)); //用于元素列表 这是关于如何使用LinkText在Selenium中查找元素的方法。...现在,让我们了解如何使用CSS选择器在Selenium中查找元素。...通过CSS选择器查找 对于生成动态ID的网站(例如基于ADF的应用程序)或基于最新的JavaScript框架(例如–无法生成任何ID或名称的React js)构建的网站,无法使用ID /名称策略定位器来查找元素

    6.1K10

    九.网络爬虫之Selenium基础技术万字详解(定位元素、常用方法、鼠标操作)

    (“数据分析”)send_keys()方法可以用来模拟键盘操作,相当于是在搜索框中输入“数据分析”字段。...第二句是定位“id=nr”的div元素,再找到它的第三个超链接a子元素。 第三句是定位name属性为“dumu”的第一个超链接a元素。....通过CSS选择器定位元素 该方法是通过CSS选择器(CSS Selectors)定位元素,它将返回第一个与CSS选择器匹配的元素。...点击按钮后弹出界面如图13所示,接下来需要分析用户名和密码的HTML源码,并找到其节点位置后实现自动登录操作。...):将鼠标光标移动到元素elem上 click_and_hold(elem):按下鼠标左键并悬停在元素elem上 perform():执行ActionChains类中的存储操作,弹出对话框 下面的示例代码是定位百度的

    4.8K10

    Selenium常见元素定位方法和操作的学习介绍

    及入门介绍(上) [Python爬虫] 在Windows下安装PIP+Phantomjs+Selenium [Python爬虫] Selenium自动访问Firefox...定位元素方法 官网地址:http://selenium-python.readthedocs.org/locating-elements.html 这里有各种策略用于定位网页中的元素...find_elements_by_css_selector 除了上面给出的公共方法,这里也有两个在页面对象定位器有用的私有方法。...size 获取元素的尺寸 text 获取元素的文本 get_attribute(name) 获取属性值 location 获取元素坐标,先找到要获取的元素,再调用该方法...(elem) 按下鼠标左键在一个元素上 perform() 在通过调用该函数执行ActionChains中存储行为 举例如下图所示,获取通过鼠标右键另存为百度图片logo。

    2.2K20

    Python Selenium库的使用「建议收藏」

    比如:Path字段;F:\GeckoDriver 参考浏览器驱动环境配置 (二)Selenium 快速入门 入门参考文献:Selenium入门 1.Selenium提供了8种定位方式: id name...class name tag name link text partial link text xpath css selector 2.定位元素的8种方式 参考:selenium元素定位 定位一个元素...7,170,000个 5.设置元素等待:参考文献 6.定位一组元素 定位一组元素的方法与定位单个元素的方法类似,唯一的区别是在单词element后面多了一个s表示复数。...应用中经常会遇到frame/iframe表单嵌套页面的应用,WebDriver只能在一个页面上对元素识别与定位,对于frame/iframe表单内嵌页面上的元素无法直接定位。...cookie的测试是无法通过白盒和集成测试进行的。

    4.4K10

    技术分享 | Web 控件定位与常见操作

    在做 Web 自动化时,最根本的就是操作页面上的元素,首先要能找到这些元素,然后才能操作这些元素。工具或代码无法像测试人员一样用肉眼来分辨页面上的元素。...XPath 是一个定位语言,英文全称为:XML Path Language,用来对 XML 上的元素进行定位,但也适用于 HTML。...,速度并不快,而 css_selector 采用样式定位,速度要优于 XPath,而且语法更简洁: 下面是 Selenium 使用 css_selector 的例子: css_selector 找到 class...link,class name, tag name:不推荐使用,无法精准定位。...常见操作 Selenium 常见操作有: 输入、点击、清除 关闭窗口、浏览器 获取元素属性 获取网页源代码、刷新页面 设置窗口大小 输入、点击、清除在 Selenium 中对应的方法分别是 send_keys

    1.4K20

    web自动化捕捉元素基本方法

    2.3.4 xpath:层级 1.如果一个元素,它的属性不是很明显,无法直接定位到,这时候我们可以先找它老爸(父元素)。 2.找到它老爸后,再找下个层级就能定位到了。 ?...2.3.5 xpath:索引 1.如果一个元素它的兄弟元素跟它的标签一样,这时候无法通过层级定位到。因为都是一个父亲生的,多胞胎兄弟。...css定位往往被忽略掉了,其实css定位也有它的价值,css定位更快,语法更简洁。 这一篇css的定位方法,主要是对比上一篇的xpath来的,基本上xpath能完成的,css也可以做到。...2.在各种百度后找到了答案:you can't do this withCSS selectors, because there is no such thing as:contains() in CSS...(但是也不是万能,基本上都能覆盖到) 2.5.1 安装Selenium Builder 在火狐浏览器的附加组件中搜索添加Selenium Builder即可。安装好后如下图所示: ?

    1.9K20

    彻底学会Selenium元素定位

    因此,本篇将详细介绍Selenium八大元素定位方法,以及在自动化测试框架中如何对元素定位方法进行二次封装,最后会给出一些在定位元素时的经验总结。...Selenium八大元素定位 所谓八大元素定位方式就是id、name、class_name、tag_name、link_text、partial_link_text、xpath、css_selector...) 多个属性 通过多个属性和属性值进行匹配,解决单个属性和属性值无法定位元素唯一性的问题。...Selenium框架官方推荐使用CSS定位,因为CSS定位效率高于XPATH。 CSS是一种标记语言,控制元素的显示样式,就必须找到元素,在CSS标记语言中找元素使用CSS选择器。...所有可操作元素,例如输入框、点击按钮等均需要加id字段,并且id字段的命名为元素含义的英文;若当前页面存在两个或多个一样的元素,则第二个开始命名为id=username2,以此类推;多层级元素一般最外层定义即可

    7.2K32

    8.9 Selenium元素定位方式

    webdriver提供了一系列的对象定位方法,常用的有以下几种: id name class name link text partial link text tag name xpath css selector...XPath基于XML的树状结构,提供在数据结构树中找寻节点的能力。...定位 Selenium极力推荐使用CSS 定位,而不是XPath来定位元素,原因是CSS 定位比XPath 定速度快,特别是在IE浏览器环境 前端开发人员就是用CSS Selector设置页面上每一个元素的样式...,无论那个元素的位置有多复杂,他们能定位到,那我们使用CSS Selector肯定也能非常精准的定位到页面Elements。...#loginForm>ul>input").send_keys("51zxw") sleep(2) driver.quit() 下拉菜单元素定位 案例:在我要自学网登录页面选择指定的保留天数。

    1.3K10

    软件测试人工智能|熟练使用web控件定位技巧,提升测试工作效率!

    简介在做 Web 自动化时,最根本的就是操作页面上的元素,首先要能找到这些元素,然后才能操作这些元素。工具或代码无法像测试人员一样用肉眼来分辨页面上的元素。...下面是 Selenium 使用 css selector 的例子。...css selector 找到 class 属性值为 active 的元素,然后>表示找 class 属性为 active 的元素的子节点,以下代码演示。...根据 W3C 标准,它在页面中是唯一的,ID 在树结构中也是唯一的。CSS Selector 语法简洁,搜索速度快于 XPath。XPath 定位功能强大,采用遍历搜索,速度略慢。...link,class name, tag name:不推荐使用,无法精准定位。常见操作Selenium 常见操作有:输入、点击、清除。关闭窗口、浏览器。获取元素属性。获取网页源代码、刷新页面。

    17410

    技术分享 | Web 控件定位与常见操作

    原文链接 在做 Web 自动化时,最根本的就是操作页面上的元素,首先要能找到这些元素,然后才能操作这些元素。工具或代码无法像测试人员一样用肉眼来分辨页面上的元素。...XPath 是一个定位语言,英文全称为:XML Path Language,用来对 XML 上的元素进行定位,但也适用于 HTML。...的例子: css_selector 找到 class 属性为 active 的元素,然后 > 表示找 class 属性为 active 的元素的子节点 Python 版本 driver.find_element_by_css_selector...link,class name, tag name:不推荐使用,无法精准定位。...常见操作 Selenium 常见操作有: 输入、点击、清除 关闭窗口、浏览器 获取元素属性 获取网页源代码、刷新页面 设置窗口大小 输入、点击、清除在 Selenium 中对应的方法分别是 send_keys

    1.1K10

    Python自动化实战,自动登录并发送微博

    全攻略 我们想定位一个元素,可以通过 id、name、class、tag、链接上的全部文本、链接上的部分文本、XPath 或者 CSS 进行定位,在 Selenium Webdriver 中也提供了这...5)通过 link 上的完整文本定位:使用 find_element_by_link_text() 函数。...6)通过 link 上的部分文本定位:使用 find_element_by_partial_link_text() 函数。有时候超链接上的文本很长,我们通过查找部分文本内容就可以定位。...2.2 对元素进行的操作包括 1)清空输入框的内容:使用 clear() 函数; 2)在输入框中输入内容:使用 send_keys(content) 函数传入要输入的文本; 3)点击按钮:使用 click...三、完整代码 实现思路: 其实和平时我们正常操作一样,只不过这里,全程由selenium来实现,模拟点击和输入,所以整个过程为:打开登录页面->输入账号密码->点击登录按钮->在发微博框输入发送内容-

    2.1K20

    ​技术分享 | Web 控件定位与常见操作

    原文链接 在做 Web 自动化时,最根本的就是操作页面上的元素,首先要能找到这些元素,然后才能操作这些元素。工具或代码无法像测试人员一样用肉眼来分辨页面上的元素。...XPath 是一个定位语言,英文全称为:XML Path Language,用来对 XML 上的元素进行定位,但也适用于 HTML。...的例子: css_selector 找到 class 属性为 active 的元素,然后 > 表示找 class 属性为 active 的元素的子节点 Python 版本 driver.find_element_by_css_selector...link,class name, tag name:不推荐使用,无法精准定位。...常见操作 Selenium 常见操作有: 输入、点击、清除 关闭窗口、浏览器 获取元素属性 获取网页源代码、刷新页面 设置窗口大小 输入、点击、清除在 Selenium 中对应的方法分别是 send_keys

    1.1K30

    Python教程:selenium模块用法教程

    1.介绍selenium最初是一个自动化测试工具,而爬虫中使用它主要是为了解决requests无法直接执行JavaScript代码的问题selenium本质是通过驱动浏览器,完全模拟浏览器的操作,比如跳转...: # 1、上述均可以改写成find_element(By.ID,'kw')的形式 # 2、find_elements_by_xxx的形式是查找到多个元素,结果为列表 # 示范用法...1、selenium只是模拟浏览器的行为,而浏览器解析页面是需要时间的(执行css,js),一些元素可能需要过一段时间才能加载出来,为了保证能查找到元素,必须等待2、等待的方式分两种:隐式等待:在browser.get...,在父frame里是无法直接查看到子frame的元素的,必须switch_to_frame切到该frame下,才能进一步查找from selenium import webdriverfrom selenium.webdriver...frame里无法查看到父frame的元素 browser.switch_to.parent_frame() #切回父frame,就可以查找到了 tag2=browser.find_element_by_id

    1.8K20
    领券