xpath

How to pass string to an XPath containing text?

时光怂恿深爱的人放手 提交于 2020-02-21 07:05:33
问题 I get id of a text which is in selected mode using Selenium Webdriver by using this code: String requiredId = driver.FindElement(By.XPath("//option[@selected='selected' and .='Blue']/..")).GetAttribute("id"); How can i pass string getColour in place of Blue? Thank you 回答1: You can pass a string this way. Try below code string getColourin = "Red"; String requiredId = driver.FindElement(By.XPath("//option[@selected='selected' and .='" + getColourin +"']/..")).GetAttribute("id"); OR using string

How to pass string to an XPath containing text?

泄露秘密 提交于 2020-02-21 07:03:20
问题 I get id of a text which is in selected mode using Selenium Webdriver by using this code: String requiredId = driver.FindElement(By.XPath("//option[@selected='selected' and .='Blue']/..")).GetAttribute("id"); How can i pass string getColour in place of Blue? Thank you 回答1: You can pass a string this way. Try below code string getColourin = "Red"; String requiredId = driver.FindElement(By.XPath("//option[@selected='selected' and .='" + getColourin +"']/..")).GetAttribute("id"); OR using string

How to pass string to an XPath containing text?

拈花ヽ惹草 提交于 2020-02-21 07:03:11
问题 I get id of a text which is in selected mode using Selenium Webdriver by using this code: String requiredId = driver.FindElement(By.XPath("//option[@selected='selected' and .='Blue']/..")).GetAttribute("id"); How can i pass string getColour in place of Blue? Thank you 回答1: You can pass a string this way. Try below code string getColourin = "Red"; String requiredId = driver.FindElement(By.XPath("//option[@selected='selected' and .='" + getColourin +"']/..")).GetAttribute("id"); OR using string

爬取51job的,Java职位,使用selenium和xpath,

陌路散爱 提交于 2020-02-21 06:52:01
1.代码: from selenium.webdriver import Chrome import time web = Chrome() #实现自动登录 web.get("https://login.51job.com/login.php") #浏览器去找输入用户名的文本框 #向这个文本框里输入用户名 web.find_element_by_xpath('//*[@id="loginname"]').send_keys("13689297888")#输入账号 web.find_element_by_xpath('//*[@id="password"]').send_keys("zxz31194")#输入密码 web.find_element_by_xpath('//*[@id="login_btn"]').click() #点击"登录"按钮 web.find_element_by_xpath('//*[@id="topIndex"]/div/p/a[2]').click()#点击"职位搜索" web.find_element_by_xpath('//*[@id="kwdselectid"]').send_keys("java")#输入"java" time.sleep(2) web.find_element_by_xpath('//*[@id="work_position

ASP.NET 4.0 新特性--Web.Config Transformation(原创)

女生的网名这么多〃 提交于 2020-02-21 06:01:42
. Net Framework 4.0(4) 系列文章 Web.Config Transformation详解,这部分内容比较简单,关键是用没有用过的问题,所以这里希望帮助大家实践一下。 一 概述: 在VS2010中引入在Config 文件中使用XML DOCUMENT TRANSFORM,这一个特性就是帮助你Web.config能方便的从部署配置文件转化到产品配置文件。协助Web.Config Transformation这两个功能就是web.debug.config, web.release.config等.这些文件的最后都会匹配到MSBuild中的配置文件去。 其实是在web.debug.config和web.release.config来写一些描述文件,再通过Transformation Engine来转化。 在Transformation Engine 执行下面任务 首先是识别Locator属性是否设置,来判断是否使用XML转换,接着就是从原配置的XML文件中获得相应节点,再从转换的XML文件中招到适合Transform的值相匹配的节点,然后将他们转化到指定的XML配置文件。在转化中主要依赖的是Transform的attribute. 二:实践 基础部分: 要使用XML-Document-Transform engine就要先引用XML-Document

How to append a newline after every match using xmlint --xpath

与世无争的帅哥 提交于 2020-02-20 07:26:45
问题 I have the following HTML code: <textarea name="command" class="setting-input fixed-width" rows="9">1</textarea><textarea name="command" class="setting-input fixed-width" rows="5">2</textarea> I would like to parse it to receive such output: 1 2 Currently I am using: xmllint --xpath '//textarea[@name="command"]/text()' --html but it does not append a newline after each match. 回答1: Hello from the year 2020! As of v2.9.9 of libxml, this behavior has been fixed in xmllint itself. However, if you

Selenium中三种等待的使用方式

ぐ巨炮叔叔 提交于 2020-02-20 05:23:39
在UI自动化测试中,必然会遇到环境不稳定,网络慢的情况,这时如果你不做任何处理的话,代码会由于没有找到元素,而报错。这时我们就要用到wait(等待),而在Selenium中,我们可以用到一共三种等待,每一种等待都有自己的优点或缺点,如何选择最优的等待方式呢。来看下这三种等待方式吧。选择合理的等待方式,可以规避网络延迟,代码不稳定问题 time(固定等待) 在开发自动化框架过程中,最忌讳使用Python自带模块的time的sleep方法进行等待,虽然可以自定义等待时间,但当网络条件良好时,依旧按照预设定的时间继续等待,导致整个项目的自动化时间无限延长。不建议使用。(注:脚本调试过程时,还是可以使用的,方便快捷) # 1. 不推荐测试中使用,会完全阻塞代码进程,代码调试时可以使用 import time time.sleep(2) #等待2秒钟后,在开始执行 implicitly_wait(隐式等待) 隐式等待实际是设置了一个最长等待时间,如果在规定时间内网页加载完成,则执行下一步,否则一直等到时间结束,然后执行下一步。这样的隐式等待会有个坑。我们都知道js一般都是放在我们的body的最后进行加载,实际这是页面上的元素都已经加载完毕,我们却还在等带全部页面加载结束。隐式等待对整个driver周期都起作用,在最开始设置一次就可以了。不要当做固定等待使用,到那都来一下隐式等待。 # 2.

Xpath的语法

醉酒当歌 提交于 2020-02-19 21:24:59
Xpath 是一门从html中提取数据的语言: Xpath的语法: 1. '/'是选择节点(标签):' /html/head/meta' :表示的是能够选中html 下的head下的所有的meta 标签 2. ‘//’:能够从任意节点开始选择 ‘//li’: 表示的是当前页面上的所有li 标签 '/html/head//link' :表示的是head 下的所有的link标签 head下的子节点和子孙节点的所有的link标签。 3.‘@符号的用法’: 选择具体某个元素 ‘//div[@class='xxx']/ul/li’ 选择‘xxx’的div下的ul下的li 那个‘[]’表示的是选中一个区块,然后再在这个区块('xxx')下选择其他的标签。 ‘a/@href’ :表示的是选择a的href的值 4.获取文本用‘/a/text()’ :获取a下的文本 ‘/a//text()’: 获取a下的所有的文本 从一个节点选到另外一个节点用的是‘/’ ,从根节点选择的时候也是用‘/’ , 从任意节点选择的话就用‘//’,这个也表示选择全部。 './' 表示的是当前标签下的 比如table.xpath(".//div") ,表示的是当前table下的div Xpath 有很多种选择的,推荐使用谷歌的插件 Xpath Helper 进行测试,然后拿数据,不用一步一步地定位 用//table

selenium元素定位

徘徊边缘 提交于 2020-02-19 02:54:54
参考网址:https://blog.csdn.net/qi_ling/article/details/84166144?utm_source=distribute.pc_relevant.none-task xpath教程:https://www.runoob.com/xpath/xpath-syntax.html selenium-webdriver提供了强大的元素定位方法,支持以下三种方法。 单个对象的定位方法 多个对象的定位方法 层级定位 ============================================================================== 定位单个元素 在定位单个元素时,selenium-webdriver提示了如下一些方法对元素进行定位。 By.id(id) By.name(name) By.className(className)) By.tagName(name) By.linkText(linkText) By.partialLinkText(linkText) By.xpath(xpathExpression) By.cssSelector(selector) ============================================================================

python利用xpath解析网页

梦想与她 提交于 2020-02-18 03:52:40
参考 https://www.w3school.com.cn/xpath/xpath_syntax.asp https://www.cnblogs.com/pythonywy/p/11082153.html 常用规则 text() 用于获取标签文本内容 @ 属性名 用于获取对应属性的值 实例 以这个网页为例:https://www.biqubao.com/book/17587/ 导入模块 import requests from lxml import etree html = requests . get ( 'https://www.biqubao.com/book/17587/' , headers = headers ) html . encoding = 'gbk' doc = etree . HTML ( html . text ) 获取第一章的href,标题 content1 = doc . xpath ( '//*[@id="list"]/dl/dd[1]/a/@href' ) content2 = doc . xpath ( '//*[@id="list"]/dl/dd[1]/a/text()' ) 获取所有章节href content_href = doc . xpath ( '//*[@id="list"]/dl/dd/a/@href' ) 获取标题的名称