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

Python教程:selenium模块用法教程

chromedriver安装:selenium+chromedriverpip3 install selenium下载chromdriver.exe放到python安装路径scripts目录中即可,注意最新版本是...('//body/a') # 开头//代表从整篇文档中寻找,body之后/代表body儿子,这一行找不到就会报错了 driver.find_element_by_xpath('//body...1、selenium只是模拟浏览器行为,而浏览器解析页面是需要时间(执行css,js),一些元素可能需要过一段时间才能加载出来,为了保证能查找到元素,必须等待2、等待方式分两种:隐式等待:browser.get...('xxx')前就设置,针对所有元素有效显式等待:browser.get('xxx')之后设置,只针对某个元素有效隐式等待from selenium import webdriverfrom selenium.webdriver...,父frame里是无法直接查看到子frame元素,必须switch_to_frame切到该frame下,才能进一步查找from selenium import webdriverfrom selenium.webdriver

1.7K20

四、请求库之selenium模块

若在Windows系统中,将下载phantomjs文件夹下bin文件夹下phantomjs.exe文件复制粘贴到python文件夹scripts目录下(当然也可以程序中动态为webdriver.PhantomJS...至此我们就可以python文件中引用webdriver和phantomjs了(这里phantomjs仅仅发挥了它是无窗口浏览器作用)。...('//body/a') # 开头//代表从整篇文档中寻找,body之后/代表body儿子,这一行找不到就会报错了 driver.find_element_by_xpath('//body...:browser.get('xxx')前就设置,针对所有元素有效 显式等待:browser.get('xxx')之后设置,只针对某个元素有效 from selenium import webdriver...,父frame里是无法直接查看到子frame元素,必须switch_to_frame切到该frame下,才能进一步查找 from selenium import webdriver from selenium.webdriver

2.9K50
您找到你想要的搜索结果了吗?
是的
没有找到

自动化-Selenium 3-元素定位(Python版)

print(e.text) 5、by_link_text by_link_text通过超文本链接文字信息来定位元素,这种方式一般专门用于定位页面上超文本链接。...超链接地图源代码:链接文本值为”地图”,代码里用”地”进行匹配 a class="mnav" name="tj_trmap" href="http://map.baidu.com...XPath是XML Path简称,是一门XML文档中查找信息语言,由于HTML文档本身就是一个标准XML页面,所以XPathXML文档中通过元素和属性进行导航。...如下面源码示例: 这段代码中“订餐”这个超链接,没有标准id元素,只有一个rel和href,不是很好定位。...//*[@id='kw']") element.send_keys("Selenium") 最后,关于XPath这种定位方式,Selenium会将整个页面的所有元素进行扫描以定位我们所需要元素,所以这是一个非常费时操作

7K10

《手把手教你》系列练习篇之5-python+ selenium自动化测试(详细教程)

title断言方法 本小节介绍一个Selenium中页面title断言方法,这个以后言中会用到,大致都是换汤不换药,照猫画虎就可以了,但是在这里一定要认真学习和练习,后边应用起来才回得心应手。...u"百度一下,你就知道" 这u代表unicode意思,由于我们这里采用了python 2, 如果你使用pyn3 就不需要,Python3中,字符串默认采用unicode存储。 5....获取某一个元素text属性值   本小节介绍如何通过Selenium方法来获取某一个元素text属性值。很多自动化测试脚本中,需要多次获取元素text值,拿过来进行对比和匹配。...例如,一个登陆界面,如果不输入用户名和密码,直接点击登录,肯定会有相关错误提醒。这个错误,我们需 要通过selenium抓取出来,和需求说明文档中描述去进行匹配,如果匹配,测试成功,否则失败。...上面介绍了两个方法,方法一是,直接把字段写入XPath表达式,如果通过该XPath能定位到元素,说明这个 错误字段已经页面显示;方法二是通过该目标元素节点,然后通过element.text得到值,拿得到

2.1K30

python3 爬虫第二步Selenium 使用简单方式抓取复杂页面信息

Selenium 使用注意 使用 Selenium前需要安装 Selenium,使用pip命令,安装如下: pip install selenium 安装完成 Selenium 还需要下载一个驱动。...html中,大部分有特殊作用元素会赋予一个id,搜索时需要填写是百度搜索关键字文本框,将鼠标移动到文本框,对准文本框点击鼠标右键,点击检查可以查看元素。 ?...在这里需要介绍一个知识点 xpath,我们可以理解xpath就像 x,y坐标一样东西,用于html或者说xml语言中定位,表示一个位置。...源代码中右键,选择Copy之后点击Copy XPath,这时我们就把当前这个元素XPath获取了。 ?...res_element=driver.find_element_by_xpath('//*[@id="3001"]/div[1]/h3/a') 获取到元素对象后,可以调用该元素对象text属性获取到当前文本值

2.2K20

自动化测试——selenium(环境部署和元素定位篇)

: 基于Python扩展关 键字驱动自动化工具 注意:要是用selenium自动化工具,要先下载安装selenium 一、web自动化环境部署 1.1 selenium安装 1、安装 ...pip list pip 是python中包管理工具(可安装,可卸载,查看python工具),使用pip时候必须联网 有的输入 pip install selenium 会提示出现 ‘pip’ 不是内部或外部命令...) 6、partial_link_text(定位超链接 a 标签 包含关系) 7、xpath (路径) 8、css (元素选择器) 注意:这是 selenium 框架中提供八大元素定位方法,只要能够定位目标元素...错误示范: 所以要精准找到确认他是第一个符合要求特征对应元素,方可用这个 方法。...控制元素显示样式,就必须先找到元素css标记语言中元素使用css选择器; 3、css选择策略也有很多,但是无论选择哪一种选择策略都是用同一种定位方法 # 方法: driver.find_element_by_css_selector

1.4K10

Python+Selenium基础篇之5-第一个完整自动化测试脚本

掌握了如何抓取或者如何书写精确XPath表达式后,我们可以开始写自己第一个真正意义上webui 自动化测试脚本,就相当于,你在学习Python,如何在控制台打印Hello,Python!...我们测试用例是:打开百度首页,搜索Selenium,然后检查搜索列表,有没有Selenium这个官网链接选项。...6) 搜索结果列表去判断是否存在Selenium官网这个链接。 7) 退出浏览器,结束测试。 如果,还不会通过火狐浏览器上插件firepath获取元素表达式,请看上一篇文章。...]").click() #点击百度一下按钮 # 导入time模块,等待2秒 time.sleep(2) # 这里通过元素XPath表达式来确定该元素显示结果列表,从而判断Selenium官网这个链接显示结果列表...# 这里采用了相对元素定位方法/../ # 通过selenium方法is_displayed() 来判断我们目标元素是否页面显示。

1.6K20

python爬取网易云音乐并分析:用户有什么样音乐偏好?

搭建爬虫环境 1.安装selenium pip install selenium # anaconda环境可用conda install selenium # 网速不好可用到https://pypi.python.org.../pypi/selenium下载压缩包,解压后使用python setup.py install 2.安装Phantomjs Mac版本 步骤一下载包:去这里下载对应版本http://phantomjs.org.../21768554/selenium-with-ghostdriver-in-python-on-windows 整个win安装过程可参考Windows下安装PIP+Phantomjs+Selenium...这是最值得注意一点,即使你找对了元素,也可能获取不到值!...0KB,那么是文件没有写进去,对于win用户,把代码写入部门,编码方式去掉即可 有些win小伙伴反应路径都加载对了,但是还是找不到exe,那么请在路径前面加r比如executable_path=r"F

5.4K92

《手把手教你》系列练习篇之8-python+ selenium自动化测试 -压台篇(详细教程)

处理iframe切换   本文介绍如何利用Selenium中方法,不同iframe中切换。 问题:有时候我们发现元素定位没问题,测试回放过程,发现就是找不到元素报错。...注意: driver.switch_to_alert().accept() 这是一个老方法,在有些编辑器(后面会介绍一款PythonIDE工具)会提示这个方法划横线,说明最新SeleniumPyhton...一个元素可能有多个属性,例如 class, id, name, text, href, vale等等。这里我们举例一个爬虫中经常需要处理链接问题:找出当前页面所有的超链接。...已百度首页为例,打印所有包含href元素链接。 相关脚本代码如下: 5.1 代码实现: ? 5.2 参考代码: # coding=utf-8?...selenium for python中主要有三个截图方法,我们挑选其中最常用一种。 get_screenshot_as_file() ? 相关代码如下: 6.1 代码实现: ?

1.5K20

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

本文主要介绍 Selenium Python API 技术,它以一种非常直观方式来访问 Selenium WebDriver 所有功能,包括定位元素、自动操作键盘鼠标、提交页面表单、抓取所需信息等。...本文主要介绍 Python 环境下 Selenium 技术。...3 定位元素 Selenium Python 提供了一种用于定位元素(Locate Element)策略,用户可以根据所爬取网页 HTML 结构选择最合适方案。...Selenium Python 也提供了类似的方法来跟踪网页中元素。 XPath 路径定位元素方法不同于按照 id 或 name 属性定位方法,前者更加灵活、方便。.../div[a/@name='dumu']") # 方法二:定位“id='nr'”元素,再找到它第三个超链接 a 子元素 test_div2 = driver.find_element_by_xpath

7K20

Selenium元素定位

Selenium常用8种元素基本定位方式 find_element_by_id() find_element_by_name() find_element_by_class_name() find_element_by_tag_name...send_keys("www.testclass.cn")#相对路径 find_element_by_link_text() 通过find_element_by_link_text()定位下图百度首页上一组文本链接...,所以返回是一个list队列.我们可以通过选择具体第几个元素进行单个元素定位; 百度首页右上角有新闻、hao123、地图、视频、贴吧、学术一些文字链接,查看源码可以发现,这些链接都有共同class,...\Python36\python.exe' 'c:\Users\WangXiao\.vscode\extensions\ms-python.python-2018.7.1\pythonFiles\PythonTools...这样你就可以通过元素属性值判断你要定位元素: driver.find_elements_by_class_name("mnav")[0].click()#点击“新闻”; driver.find_elements_by_class_name

1.1K10

python 携程爬虫开发笔记

前言 最近购买了《Python3 爬虫、数据清洗与可视化实战》,刚好适逢暑假,就尝试从携程页面对广州周边游产品进行爬虫数据捕捉。...因为才学Python不够一个星期,python命名规范还是不太了解,只能套用之前iOS开发命名规范,有不足之处请多多指点 一、前期 1.主要用到库 from bs4 import BeautifulSoup...import time import re #正则表达式 from selenium import webdriver from selenium.webdriver.common.by import...By from selenium.webdriver.support.wait import WebDriverWait from selenium.webdriver.support import...time:暂停等待操作 xlrd、xlwt、xlutils:对数据结果进行Excel读写保存操作 2.核心思路 1,跳进出发点周边游页面(广州) 2,首页捕捉推荐热门目的地和热点景点,进行保存

1.8K10

python+Selenium自动化测试——输入,点击操作

1、练习测试用例为: 打开百度首页,搜索“胡歌”,然后检索列表,有无“胡歌新浪微博”这个链接 2、写脚本之前,需要明确测试步骤,具体到每个步骤需要做什么,既拆分测试场景,考虑好之后,再去写脚本。...(百度一下)://*[@id=”su”] 5)搜索框输入“胡歌”,点击百度一下按钮 6)搜索结果列表判断是否存在“胡歌新浪微博”这个链接 7)退出浏览器,结束测试 【注】chrome获取XPath...3、代码如下: import time from selenium import webdriver ''' 测试用例:打开百度首页,搜索“胡歌”,然后检索列表,有无“胡歌新浪微博”这个链接 场景拆分...time.sleep(2) # 等待2秒 # 通过元素XPath来确定该元素是否显示结果列表,从而判断“壁纸”这个链接是否显示结果列表 # find_element_by_link_text当找不到链接时报错...,程序停止 driver.find_element_by_link_text('胡歌新浪微博').is_displayed() driver.quit() 补充知识:python + selenium

3.5K20

Selenium必须掌握元素定位方法

Web端UI自动化测试,目前使用比较多就是Python+Selenium。当前一些UI自动化测试工具也是基于Selenium做开发。...68.0.3440.84 Driver-info: chromedriver=2.37.544315,platform=Windows NT 10.0.17134 x86_64) 是否打开了多个窗口 页面操作过程中有时候点击某个链接会弹出新窗口...,对于层层嵌套frame很有用 元素不可见 UI自动化测试中,有时候会遇到页面元素无法定位问题,包括xpath等方法都无法定位,是因为前端元素被设置为不可见导致。...如果统计结果是0,说明你定位方法找不到任何元素元素本身不存在。如果大于1,说明你这种定位方法不是唯一。那么就需要把元素打印出来,查看第几个是你所需要元素: ?..., 'bt-class')]") # id属性结尾是'bt-class',并且固定不变; 元素未出现就进行了操作 有时候,跑脚本时候,明明单步调试时候元素可以定位到,并且可以正常操作,但是跑测试案例时候

4.6K20

8.9 Selenium元素定位方式

div/form/span[1]/input").send_keys("51zxw") # 利用元素熟悉定位--定位到input标签中为kw元素 driver.find_element_by_xpath...("//input[@id='kw']").send_keys("Selenium") # 定位input标签中name属性为wd元素 driver.find_element_by_xpath("/.../input[@name='wd']").send_keys("Selenium") # 定位所有标签元素中,class属性为s_ipt元素 driver.find_element_by_xpath...定速度快,特别是IE浏览器环境 前端开发人员就是用CSS Selector设置页面上每一个元素样式,无论那个元素位置有多复杂,他们能定位到,那我们使用CSS Selector肯定也能非常精准定位到页面...("51zxw") sleep(2) driver.quit() 下拉菜单元素定位 案例:我要自学网登录页面选择指定保留天数。

1.2K10

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

本文主要介绍Selenium Python API技术,它以一种非常直观方式来访问Selenium WebDriver所有功能,包括定位元素、自动操作键盘鼠标、提交页面表单、抓取所需信息等。.../selenium 我们点击“Downloads”按钮下载该Selenium扩展包,解压下载文件后,解压目录下执行下面的命令进行安装Selenium包。...---- 三.定位元素 Selenium Python提供了一种用于定位元素(Locate Elements)策略,你可以根据所爬取网页HTML结构选择最适合方案,表8.2是Selenium提供各种方法...Selenium Python也提供了类似的方法来跟踪网页中元素。 XPath定位元素方法不同于按照ID或Name属性定位方法,前者更加灵活、方便。...第二句是定位“id=nr”div元素,再找到它第三个超链接a子元素。 第三句是定位name属性为“dumu”第一个超链接a元素

4.5K10

快速学Python,走个捷径~

说到 Python 大家反应可能就是 爬虫、自动化测试,比较少会说到用 python 来做 web 开发,相对来说,国内 web 开发使用比较多语言还是 java~ 但是并不是说 python 不适合用于做...,并不是说 Selenium 只支持 python,它有多重编程语言客户端驱动,语法简介~ 下面我们做一个简单示例演示!...我们打开百度页面,可以发现该输入框 id 是 kw, 清楚了元素 ID 之后,我们就可以使用 id 进行元素定位,方式如下 from selenium import webdriver # 加载...等链接元素 那么我们就可以利用链接文本来进行定位 from selenium import webdriver # 加载 Edge 驱动 driver = webdriver.ChromiumEdge...当然 xpath 值并不需要你去计算我们只需要打开页面然后 F12 中找到对应元素,右击复制 xpath 即可 然后代码中进行定位: from selenium import webdriver

86240

python里三种等待元素方法

在做web或app自动化测试经过会出现找不到元素而报错情况,很多时候是因为元素 还没有被加载出来,查找代码就已经被执行了,自然就找不到元素了。...Python里有三种等待方式: 一、 强制等待 Sleep(54) 这个方法time模块,使用时通过from time import sleep导入 比如: Sleep(10) #表示强行等待10s...再执行下一句代码 Driver.find_element_by_xpath(“xxxxxx”) 这种等待方式时间到了就执行下个语句,但比较死板,不能保证等待时间内元素真正被加载了出来。...二、 隐性等待 Implicitly_wait(xxx) 这个等待表示规定时间内页面的所有元素都加载完了就执行下一步,否则一直等到时间截止,然后再继续下一步。...((By.XPATH,"// *[@id='nr']/option[1]"),True)) '''判断某个元素选中状态是否符合预期''' driver.find_element_by_xpath(".

1.8K10

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

一、软件准备 1.安装Python 环境 首先需要你电脑安装好了Python环境,并且安装好了Python开发工具。...二、实现方法 2.1 使用 Selenium 工具自动化模拟浏览器,当前重点是了解对元素定位 对Selenium完全不了解,想进一步学习基础读者还可以先看下这篇文章:2万字带你了解Selenium...全攻略 我们想定位一个元素,可以通过 id、name、class、tag、链接全部文本、链接部分文本、XPath 或者 CSS 进行定位, Selenium Webdriver 中也提供了这...2.2 对元素进行操作包括 1)清空输入框内容:使用 clear() 函数; 2)输入框中输入内容:使用 send_keys(content) 函数传入要输入文本; 3)点击按钮:使用 click...() 函数,如果元素是个按钮或者链接时候,可以点击操作; 4)提交表单:使用 submit() 函数,元素对象为一个表单时候,可以提交表单; 2.3 注意 由于selenium打开chrome是原始设置

2K20
领券