有没有办法找到下拉列表选项的XPATH位置使用文本"test1","first_test","i2","i3",如下面的代码所示.
<select id="listid_select" class="select-box" style="width:100px;" name="list_id">
<option value="">NONE</option>
<option value="1">test1</option>
<option value="3">first_test</option>
<option value="6">i2</option>
<option value="7">i3</option>
<option value="8">i4</option>
<option value="9">i5</option>
<option value="10">i6</option>
<option value="11">i7</option>
<option value="12">i8</option>
<option value="13">i9</option>
<option value="14">Clone1</option>
Run Code Online (Sandbox Code Playgroud)
我需要根据"文本名称"找到选项,而不是使用"值",因为有值持续到300以上.如果我找到使用名称的选项会很容易.
提前致谢 :)
如何将以下xPath转换为jQuery 1.10选择器?
/html/body/div[4]/div[2]/div/div/div/ul/li[4]
Run Code Online (Sandbox Code Playgroud)
我想用结果做这样的事情:
jQuery('selector').hide();
Run Code Online (Sandbox Code Playgroud) 我正在使用scrapy来处理一些解析工作.
def parse_2(self,response):
sel = Selector(response)
sites = sel.xpath('//div[@class="container"]')
courses = []
for site in sites:
course = CourseItem()
course['rating'] = site.xpath("count(//div[@class='span5'])")
……
Run Code Online (Sandbox Code Playgroud)
我想在xpath中使用count函数来计算一些节点,但是有些错误.像exceptions.AttributeError:'Selector'对象没有属性'decode'

目前我使用隐式等待来定位元素,然后才对它们发出任何操作.请参阅隐式等待的示例:
WebDriverWait(browser,10).until(EC.presence_of_element_located(By.XPATH(('xpath')))
Run Code Online (Sandbox Code Playgroud)
这在处理单个元素时工作正常.但是,看起来如果xpath与多个元素相关,EC.presence_of_element_located()则会超时.我的问题是,如何隐式等待多个元素?
单个元素 -
WebDriverWait(browser,10).until(EC.presence_of_element_located(By.XPATH(('xpath')))
browser.find_element_by_xpath('xpath')
Run Code Online (Sandbox Code Playgroud)
多元素 -
??
browser.find_elements_by_xpath('xpath')
Run Code Online (Sandbox Code Playgroud)
注意:请注意find_elements_by_xpath()在多个元素实例中使用而不是find_elements_by_xpath()
我有一个XMLDocument查询的结果.
我想提取每个条目的<Property>值和适当的值<Notes>.
<?xml version="1.0"?>
<EADATA version="1.0" exporter="Enterprise Architect">
<Dataset_0>
<Data>
<Row>
<PropertyID>439</PropertyID>
<Object_ID>683</Object_ID>
<Property>tagged value</Property>
<ea_guid>{5BF3E019-277B-45c2-B2DE-1887A90C6944}</ea_guid>
</Row>
<Row>
<PropertyID>444</PropertyID>
<Object_ID>683</Object_ID>
<Property>Another Tagged value</Property>
<Notes>Another tagged value notes.</Notes>
<ea_guid>{42BE8BAA-06B8-4822-B79A-59F653C44453}</ea_guid>
</Row>
</Data>
</Dataset_0>
</EADATA>
Run Code Online (Sandbox Code Playgroud)
但是,如果<Notes>为空,则根本没有<Notes>标记.
XPath在这种情况下我应该写什么?
我有这个,这在我的xml'documentNature'中选择
//*[local-name()='documentNature']
Run Code Online (Sandbox Code Playgroud)
这是返回2行,因为我有2 xmls,我想返回第一种这种(但这不起作用):
//*[local-name()='documentNature'][0]
Run Code Online (Sandbox Code Playgroud)
我该怎么做?谢谢
我有这个HTML
<td>
<p> text <p>
<p align="left"> some text <a href="">link</a> text and other staff </p>
<p> text <p>
<p> text <p>
<p> text <p>
<p> text <p>
</td>
Run Code Online (Sandbox Code Playgroud)
我怎么能得到所有<p>之后<p align="left">?
我写这个xpath以获得<p align="left">,但是我如何选择p它之后的所有元素?
//td/p[@align="left"][last()]
Run Code Online (Sandbox Code Playgroud) 我试图从这个网站上抓取所有职业页面:http://wearemadeinny.com/find-a-job/
我尝试了下面的内容,但遗憾的是,当您点击其中一个公司页面时,只显示href:
from lxml import html
import requests
page = requests.get("http://wearemadeinny.com/find-a-job/")
tree = lxml.html.fromstring(page.text)
jobs = tree.xpath('//*[@id="venue-hiring"]/a/@href')
links = [x for x in jobs]
print links
Run Code Online (Sandbox Code Playgroud)
我注意到每个都<li>包含html数据属性,其中包含作业页面URL.那么,是否有可能从每个数据中删除data-hiringurl属性<li>.如果没有lxml和XPath选择器是他们的其他选择?
这是<li>我想要从中获取的元素之一.我特意想拉数据-hiringurl ="http://www.admeld.com/about/jobs/"这个元素的xpath是//*[@ id ="v7"]
<li id="v7" data-vid="7" data-name="Admeld" data-address="230 Park Avenue South Suite 1201" data-lat="40.7378349" data-long="-73.9886703" data-url="http://www.admeld.com/" data-hiring="1" data-hiringurl="http://www.admeld.com/about/jobs/" data-whynyc="" data-category="1"><a href="#" class="list-digital">
<span class="venue-name">Admeld</span><br>
<span class="venue-address">230 Park Avenue South</span>
<br><span class="venue-hiring">We are hiring!</span>
</a>
</li>
Run Code Online (Sandbox Code Playgroud) 我有以下功能
declare private function local:get-map() as map:map*
{
let $map := map:map()
for $chart in xdmp:directory("/charts/")
for $panel in $chart/delphi:chart/delphi:panels/delphi:panel
for $dataline in $panel/delphi:datalines/delphi:dataline
let $datasetHref := $dataline/delphi:link[@rel="dataset"]/@href
let $axisId := $dataline/delphi:dimensions/delphi:dimension[@field="y"]/@axis
let $label := $panel/delphi:axes[@dimension="y"]/delphi:axis[@id=$axisId]/@label
let $l := map:get ($map, $datasetHref)
let $updateMap := if (fn:exists ($l)) then () else map:put ($map, $datasetHref, $label)
return $map
};
Run Code Online (Sandbox Code Playgroud)
我被迫声明返回类型,map:map*因为由于某种原因,$ map是一个地图数组而不是地图.该数组包含许多项目,其中每个项目包含我需要的相同地图.因此,当我调用此方法时,我使用第一项.问题是这不是很优雅.我不明白的是为什么我在数组中获得同一个地图的多个副本.我希望代码返回一个地图.我如何重写这个以解决问题?
我正在将word文档转换为xml,以使用以下代码进行比较:
word = win32com.client.Dispatch('Word.Application')
wd = word.Documents.Open(inFile)
# Converts the word infile to xml outfile
wd.SaveAs(outFile,11)
wd.Close()
dom=parse(outFile)
Run Code Online (Sandbox Code Playgroud)
我得到的xml文件看起来像:
<?xml version="1.0" encoding="utf-8"?>
<?mso-application progid="Word.Document"?>
<w:wordDocument w:embeddedObjPresent="no" w:macrosPresent="no" w:ocxPresent="no" xml:space="preserve" xmlns:aml="http://schemas.microsoft.com/aml/2001/core" xmlns:dt="uuid:C2F41010-65B3-11d1-A29F-00AA00C14882" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:sl="http://schemas.microsoft.com/schemaLibrary/2003/core" xmlns:v="urn:schemas-microsoft-com:vml" xmlns:w="http://schemas.microsoft.com/office/word/2003/wordml" xmlns:w10="urn:schemas-microsoft-com:office:word" xmlns:wne="http://schemas.microsoft.com/office/word/2006/wordml" xmlns:wpc="http://schemas.microsoft.com/office/word/2010/wordprocessingCanvas" xmlns:wsp="http://schemas.microsoft.com/office/word/2003/wordml/sp2" xmlns:wx="http://schemas.microsoft.com/office/word/2003/auxHint">
<w:ignoreSubtree w:val="http://schemas.microsoft.com/office/word/2003/wordml/sp2"/>
<w:shapeDefaults>
<o:shapedefaults spidmax="1027" v:ext="edit"/>
<o:shapelayout v:ext="edit">
<o:idmap data="1" v:ext="edit"/>
</o:shapelayout>
</w:shapeDefaults>
<w:body>
<wx:sect>
<w:tbl>
<w:tblGrid>
<w:gridCol w:w="200"/>
...
</w:tblGrid>
<w:pict>
<v:shapetype coordsize="21600,21600" filled="f" id="_x0000_t75" o:preferrelative="t" o:spt="75" path="m@4@5l@4@11@9@11@9@5xe" stroked="f">
<v:stroke joinstyle="miter"/>
<v:formulas>
<v:f eqn="if lineDrawn pixelLineWidth 0"/>
... …Run Code Online (Sandbox Code Playgroud)