标签: xpath

有没有办法找到下拉列表选项的XPATH使用名称"test1","first_test","i2","i3",如下面的代码所示

有没有办法找到下拉列表选项的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以上.如果我找到使用名称的选项会很容易.

提前致谢 :)

selenium xpath selenium-webdriver

1
推荐指数
1
解决办法
112
查看次数

将xPath转换为jQuery Selector

如何将以下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)

jquery xpath jquery-selectors

1
推荐指数
1
解决办法
3839
查看次数

当我使用scrapy和xpath时如何使用count()

我正在使用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' 在此输入图像描述

python xpath scrapy

1
推荐指数
1
解决办法
2361
查看次数

Python - Selenium - 隐含等待多个元素

目前我使用隐式等待来定位元素,然后才对它们发出任何操作.请参阅隐式等待的示例:

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()

python selenium xpath python-3.x

1
推荐指数
2
解决办法
3606
查看次数

空的时候缺少XML节点

我有一个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在这种情况下我应该写什么?

c# xml xpath nodes

1
推荐指数
1
解决办法
851
查看次数

xpath与local-name和arrays结合使用

我有这个,这在我的xml'documentNature'中选择

//*[local-name()='documentNature'] 
Run Code Online (Sandbox Code Playgroud)

这是返回2行,因为我有2 xmls,我想返回第一种这种(但这不起作用):

//*[local-name()='documentNature'][0]
Run Code Online (Sandbox Code Playgroud)

我该怎么做?谢谢

xml select xpath

1
推荐指数
1
解决办法
773
查看次数

xpath在元素之后获取所有元素

我有这个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)

html xpath

1
推荐指数
1
解决办法
1350
查看次数

是否可以使用XPath选择器(lxml)来刮取html数据属性?

我试图从这个网站上抓取所有职业页面: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)

html python xpath lxml custom-data-attribute

1
推荐指数
1
解决办法
2676
查看次数

Xquery返回地图列表而不是地图

我有以下功能

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是一个地图数组而不是地图.该数组包含许多项目,其中每个项目包含我需要的相同地图.因此,当我调用此方法时,我使用第一项.问题是这不是很优雅.我不明白的是为什么我在数组中获得同一个地图的多个副本.我希望代码返回一个地图.我如何重写这个以解决问题?

xpath xquery marklogic

1
推荐指数
1
解决办法
191
查看次数

命名空间错误lxml xpath python

我正在将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)

python xml xpath lxml

1
推荐指数
1
解决办法
3983
查看次数