在默认情况下,WordPress 的导航菜单会输出很多如menu-item、menu-item-type-taxonomy、menu-item-object-category等加上 id 组成的CSS...选择器,无疑,对于一些人来说,这些选择器导致整个html 格式变得难看,看着碍眼的东西最好是将它去掉,之前Jeff 也曾有过一篇类似的文章《删除 WordPress 导航菜单的多余 CSS 选择器》,今天则介绍个通过添加过滤器来删除...WordPress 导航菜单的多余 CSS 选择器(id或class)的新方法。...要删除 WordPress 导航菜单的多余 CSS 选择器(id或class),则需要在主题的functions.php 文件下加入以下代码: add_filter('nav_menu_css_class...array() : ''; } 上面是所有的CSS 选择器(id或class)都会被删除,如果为了某些CSS 效果(如鼠标焦点高亮)需要保留一些 CSS 选择器的,可以将第 4 行以下代码改为: function
d. input, button 等元素不支持class 属性,这个原因不清楚,但是使用的时候加上class 属性就找不到元素. div等元素支持class 属性,如果通过特定属性找不到,尝试更改属性的值来进行查找...如果找到的是多个元素,那么可以通过类似数组元素的方式进行访问特定元素. B. IE中点击无效的问题,以及input 输入框接受数据不正确的问题....而向input之类的输入框传递数据的时候,在IE中经常出现输入框获取到的数据和发送的数据不一致的情况,这个可以通过改用js的方式进行发送,也可以 通过清空 输入框数据,重新进行发送,直到收到的数据正确为止..., 而清空input 类输入框数据的方式是: driver.find_element_by_xpath().clear(), 也就是调用元素的clear() 方法就清空其数据了....(lambda driver:driver.find_element_by_id("input4") or driver.find_element_by_xpath("//*[contains(text
剩下两个全能的ByXpath和ByCssSelector 我最常用的事ByXpath(或CssSelector)因为很多情况下,html标签的属性不够规范,无法通过单一的属性定位,这个时候就只能使用xpath...可以去重实现定位唯一element 事实上定位最快的应当属于ById,因为id是唯一的,然而大多数开发并没有设置id 5.去哪网面试题Java实现 一、 UI自动化测试 1、 Qunar机票搜索场景 1...) 访问Qunar机票首页http://flight.qunar.com,选择“单程”,输入出发、到达城市,选择today+7日后的日期,点“搜索”,跳转到机票单程搜索列表页。...先点击输入框,待弹出 城市选择框之后,点击相应的城市 2. 缓慢输入城市的缩略字母或者城市的名字的部分,会显示出待选城市的下拉列表,进而从下拉列表中选择相应的城市. 3....采取第一种方式: 首先定位到输入框 点击输入框 从弹出的热门城市框中点击所需要的城市 WebElement from_inpox = driver .findElement(By.xpath("//div
这里使用的Chrome 浏览器,方便能看到信息是否录入正确, 这里,我们首先找到输入框,然后填上 zuk z2 手机 然后再找到 搜索按钮,选中点击后, 然后再找到zuk z2手机(蓝色的字体) 这样子点完之后...,要写完整路径 # chromedriver = "C:\Program Files (x86)\Google\Chrome\Application\chromedriver.exe" chromedriver...('//*[@id="key"]') phoneLogin.send_keys('ZUK Z2手机') time.sleep(3) # 搜索 btnNext = browser.find_element_by_xpath...('//*[@id="search"]/div/div[2]/button') btnNext.click() #加上延迟时间,不然可能拿不到数据 time.sleep(3) btnPhone = browser.find_element_by_xpath...) links = html.xpath("//*[@id='J_goodsList']/ul[@class='gl-warp clearfix']") print('links',links) for
在搜索所有附件组件文本输入框输入:firebug 4. 找到Firebug,点击 安装。重复步骤3和4,搜索和安装FirePath。 5. ...安装好了之后,会在火狐浏览器右上角显示一个虫子的图标。 1.2 XPath工具简单使用 我们用定位百度首页的搜索输入框这个元素定位来演示。 1. 打开百度首页 2. ...鼠标定位到搜索输入框 3. 右键鼠标,选Inspect in FirePath 4. ...那么对于一个元素在一个页面当中也会有 这样的一个绝对地址。 参考 baidu.html 前端工具所展示的代码,我们可以用下面的方式来找到百度输入框和搜索按钮。...同样以百度输入框和搜索按钮为例: find_element_by_xpath("//input[@id='kw']") find_element_by_xpath("//input[@id='su']
在搜索所有附件组件文本输入框输入:firebug 4. 找到Firebug,点击 安装。重复步骤3和4,搜索和安装FirePath。 5....安装好了之后,会在火狐浏览器右上角显示一个虫子的图标。 1.2 XPath工具简单使用 我们用定位百度首页的搜索输入框这个元素定位来演示。 1. 打开百度首页 2....鼠标定位到搜索输入框 3. 右键鼠标,选Inspect in FirePath 4....那么对于一个元素在一个页面当中也会有 这样的一个绝对地址。 参考 baidu.html 前端工具所展示的代码,我们可以用下面的方式来找到百度输入框和搜索按钮。...同样以百度输入框和搜索按钮为例: find_element_by_xpath("//input[@id='kw']") find_element_by_xpath("//input[@id='su']
目录 一、代码思路 二、唯一定位“目的地” 1、文本定位 2、层级定位 三、总结 1、代码 2、遇到的坑 手工测试是怎么点的,自动化测试就怎么点击。(截图讲解的技术知识是正确的。...4.元素定位到关键词输入框,清空关键词输入框中的内容,输入关键词,点击目的地使弹框关闭。 5.点击搜索。 6.(这时已经跳转到下一个页面),在这个页面中点击某酒店名称。 7.关闭所有页面。...#选择入住日期 ele=driver.find_element(By.XPATH,'//input[@data-bindid="checkIn"]') ele.clear() #输入日期前,先清空输入框的内容...点击除了它以外的其它元素 (选一个页面固定的元素,那就点击目的地这个元素), 日期框就能消失了。再去处理下一个元素。不然日期框会挡住别的元素。 接下来点击搜索,搜索按钮被这个日期框遮住了。...driver.find_element(By.XPATH,'//div[@id="domesticDiv"]//dt[text()="目的地"]').click() # 选择退房日期 ele=driver.find_element
支持的浏览器包括IE,Mozilla Firefox,Safari,Google Chrome,Opera等。...'a') # ctrl+x 剪切输入框内容 driver.find_element_by_id("kw").send_keys(Keys.CONTROL, 'x') # ctrl+v 粘贴内容到输入框...("kw").send_keys("lyshark") # 发送给id=kw的编辑框,搜索关键字 lyshark driver.find_element_by_id("su").click()...# 点击搜索按钮,百度一下的ID是su time.sleep(1) # xpath 语法 寻找 div id是1里面的 a标签取出标签中的 contains text() driver.find_element_by_xpath...(handle_all[0]) # 切换到第一个窗口中 time.sleep(1) driver.find_element_by_id("kw").clear() # 接着清空搜索框中的内容 百度自动收集
理解了上面这些特性是学习定位方法的基础。我们以百度输入框和百度搜索按钮为例来学习不同的定位方法,两个元素的代码如下。...对百度首页上的输入框与百度搜索按钮来说,定位方法如下: find_element_by_id("kw") find_element_by_id("su") find_element_by_id()方法用于元素中...通过 name 定位输入框: find_element_by_name("wd") find_element_by_name()方法用于元素中 name 属性的定位,百度搜索按钮并没有提供 name 属性...5.3 class 定位 class 也是不少元素会有的一个属性,它的定位和 name 以及 id 类似,下面通过 class 去定位百度输入框和百度搜索按钮: find_element_by_class_name...有时候一个元素并没有 id 或 name 属性,或者会有多个元素的 id 和 name 属性值是一样的,又或者每一次刷新页面,id 的值都会随机变化。那么在这种情况下我们如何来定位元素呢?
这地方我们还是聚焦于ID的属性定位方式,百度搜索输入框的ID源码具体为: id="kw" name="wd" class="s_ipt" value="" maxlength="255"...autocomplete="off"> 这是百度搜索输入框的input输入框的源代码部分,从源代码我们就可以得到它的ID是kw,下面我们结合具体的代码来进行操作下,案例代码如下: #!...name为wd,调用的方法当然都是find_element_by_name()的方法,按照name的属性在搜索输入框输入搜索关键字的测试案例实战代码: #!...,下面为具体说下操作步骤: 1、鼠标到需要操作的元素属性 2、右键,点击Copy,如下图所示: 3、点击Copy后,选择Copy Xpath,如下图所示: 当然如果是动态的ID,获取到的xpath也是错误的...下面还是以百度搜索输入框,获取到它的xpath为://*[@id="kw"],下面具体显示实战的测试案例代码: #!
下载以后,并把chromdriver放在chrome的google.exe的目录下面 ?...搜索栏(Search)的代码如下: ? id="id-search-field" 是 Search 的唯一标识符。 ? id="submit" 是按钮“GO”的唯一标识符。...XPath是XML Path的简称,由于HTML文档本身就是一个标准的XML页面,所以我们可以使用XPath的语法来定位页面元素。...id为loginForm的form元素下第4个input元素://form[@id='loginForm']/input[4] 控件操作: 输入框; element.clear() #清空输入框数据...实例2:登录京东(重点在xpath选择器的用法) from selenium import webdriver import random import time def randomSleep(minS
driver.title #生成页面快照并保存 driver.save_screenshot("baidu.png") # id="kw"是百度搜索输入框,输入字符串"长城" driver.find_element_by_id...('kw').send_keys(u'长城') # id="su"是百度搜索按钮,click()是模拟点击 driver.find_element_by_id('su').click() #获取新的页面快照...()) #ctrl+a全选输入框内容 driver.find_element_by_id('kw').send_keys(Keys.CONTROL, 'a') #ctrl+x剪切输入框内容 driver.find_element_by_id...() 页面操作 Selenium的WebDriver提供了各种方法来寻找元素,假设下面有一个表单输入框: id="passwd-id...("0") select.select_by_visible_text(u'未审核') 以上是三种选择下拉框的方式,它可以根据索引来选择,可以根据值来选择,可以根据文字来选择。
"是百度搜索输入框,输入字符串"长城" driver.find_element_by_id("kw").send_keys(u"长城") # id="su"是百度搜索按钮,click() 是模拟点击...,'x') # 输入框重新输入内容 driver.find_element_by_id("kw").send_keys("itcast") # 模拟Enter回车键 driver.find_element_by_id...("su").send_keys(Keys.RETURN) # 清除输入框内容 driver.find_element_by_id("kw").clear() # 生成新的页面快照 driver.save_screenshot...WebDriver提供了各种方法来寻找元素,假设下面有一个表单输入框: id="passwd-id" /> 那么: # 获取id标签值...(1) select.select_by_value("0") select.select_by_visible_text(u"未审核") 以上是三种选择下拉框的方式,它可以根据索引来选择,可以根据值来选择
以百度首页搜索页面为例,看一下webdriver定位元素的八种方式 使用id定位 在页面源码中找到搜索输入框的元素定义 可以看到输入框有一个有一个id的属性,调用find_element_by_id...()根据name属性找到元素,参数为name属性的值 搜索框有一个name=”wd”的属性,使用name查找搜索输入框元素 input_search = driver.find_element_by_name...,选择其中的一个或者多个进行操作 通过百度首页搜索“selenium”关键字,会出现许多搜索结果,这些搜索结果具有相同的属性,不同的是属性的值不同,定位这些元素时,可以使用批量定位的方法 看下面的代码...CSS可以较为灵活的选择控件的任意属性,一般情况下会比XPath快。且语法也比较简洁。 ?...该方式容易因为层级改变而需要重新编写过xpath路径,不建议使用,初学者可以先复制路径,然后尝试去修改它。 2.2提高下写xpath的水平。 如何检验编写的Xpath是否正确?
搜索并采集结果的标题 需求如下: 打开百度搜索主页 在输入框输入搜索内容(比如"爬虫") 点击"百度一下"按钮,进行搜索 把结果页面中的第一页的各个结果的主标题抓取下来 Selenium 的麻烦之处 本系列始终围绕一点开展...有2种常见的方式,css 选择器 或者 xpath selenium 文档中强烈推荐你使用 css 选择器 我们选用 css 选择器,因此,在右区的 input 标签上,按鼠标右键,选 "copy" ,...,还能往可输入的元素发送文本 此时可以看到,浏览器已经输入了内容"爬虫",并且还可以看到下方已经出现搜索结果(这是因为现在的搜索引擎都提供这种边输入边查询的功能) ---- 我们继续模拟点击输入框右边的...),看看定位到的标签: 每个搜索结果,都是一个 div标签(上图右区下方红框) 而所有的搜索结果的 div,都被包在一个 id='content_left' 的 div 标签里面(上图右区上方红框)...得到的选择器表达式如下: div[id=content_left] 表示 div 标签,他的 id 属性为 content_left div 与 h3 之间用空格分开,表示他们是祖孙关系,就是 div
快速上手 安装 从终端运行: pip install splinter 安装相应的浏览器驱动 Chrome浏览器驱动:https://sites.google.com/a/chromium.org/chromedriver...让我们访问一下百度搜索页面: browser.visit('http://baidu.com') 输入搜索关键词 页面加载完毕后,你能进行一系列的交互,比如点击,输入框填充字段,选择单选按钮和复选框。...这个按钮 - 或任意其他元素 - 可以通过它的css, xpath, id, tag 或 name来识别。...通过以下操作找到百度搜索按钮: button = browser.find_by_xpath('//input[@type="submit"]') 提示一下,这个 xpath 语法所在的按钮 会在百度搜索页面的源码中被找到...找到按钮后,我们就可以进行点击操作: button.click() 提示: 以上展示的两步可以结合为一行代码,如下所示: browser.find_by_xpath('//input[@type="
(locate elements),你可以选择最适合的方案,Selenium提供了一下方法来定义一个页面中的元素: find_element_by_id find_element_by_name...常用方法是通过xpath相对路径进行定位,同时CSS也是比较好的方法。...,如“请输入密码”等提示,通过send_keys("**")输入正确的用户名和密码,最后通过click()点击登录按钮或send_keys(Keys.RETURN)相当于回车登录,submit()提交表单...定位到图片位置并右击鼠标,在弹出的菜单中选择“另存为图片”。...Keys.CONTROL,'x') time.sleep(3) #输入框重新输入搜索 elem.send_keys(Keys.CONTROL,'v') time.sleep
selenium定位元素的八大方法: 在开始登录前,咱们得先学习一下selenium定位元素的方法,不然找不到元素是没办法完成自动操作 的部分文本为‘度’的元素 link = a['href'] #获取该元素的链接 find_element_by_xpath() xpath是XML路径语言,通过元素的路径来查找元素...,选择copy xpath即可复制到该元素的绝对路径 ?...自动登录微博 咱们先来定位微博登录的相关元素位置 用户名输入框 ? 用户名输入框 密码输入框 ? 密码输入框 登录按钮 ?...查找id = 'loginname'的元素 #将用户名发送到用户名输入框 user_name.send_keys("你的用户名") #send_keys()方法,用于模拟键盘输入 #查找微博密码输入框
test.text) test = driver.find_elements_by_xpath("//*[@resource-id='com.hpbr.bosszhipin:id/tv_tab_label...']")[1] print(test.text) 输出结果 附近 附近 实战栗子:完整的流程 进入boss app 点击右上角的放大镜icon 点击输入框 输入“软件测试” 点击第一个结果 打印第一屏的地区...搜索框输入职位信息 search_input = driver.find_element_by_id('com.hpbr.bosszhipin:id/et_search') search_input.send_keys...('软件测试') # 输入参数 # 选择符合条件的第一个搜索结果 driver.find_element_by_id('com.hpbr.bosszhipin:id/tv_filtered_name...') # print(salray.text) # 输出公司名称 # 找到元素返回包含一个元素的列表,找不到就返回空列表 company = job.find_elements_by_id
领取专属 10元无门槛券
手把手带您无忧上云