标签: xpath

使用BeautifulSoup通过src标签搜索元素

假设我正在抓取一个网页,并且我想选择网页上的某个图像。正如您可以根据类名称查找元素一样,我想通过其标签来选择图像src。如何选择我已经知道标签的图像src

即我想选择标签src为:

https://assets.bandsintown.com/images/pin.svg
Run Code Online (Sandbox Code Playgroud)

python xpath beautifulsoup css-selectors web-scraping

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

如何find_element(By.XPATH)并在selenium中发送密钥?

尝试更新我的代码以使用"driver.find_element(By.XPATH..."而不是"driver.find_elements_by_xpath(...",但当我发送密钥时,我不断收到以下错误:

selenium.common.exceptions.ElementNotInteractableException: Message: element not interactable
Run Code Online (Sandbox Code Playgroud)

这是我的代码:

driver = webdriver.Chrome(PATH)
link_login = "https://www.wyzant.com/tutor/jobs"

driver.get(link_login)

username_input = driver.find_element(By.XPATH, "//*[@id='Username']")[1]
username_input.send_keys("Test")
Run Code Online (Sandbox Code Playgroud)

python selenium xpath google-chrome webdriver

0
推荐指数
1
解决办法
3万
查看次数

XPath translate() 函数和(分解)组合的 Unicode 字符

采用以下 XSLT 代码:

\n
<?xml version="1.0" encoding="UTF-8"?>\n<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"\n    version="2.0">\n    <xsl:output method="text"/>\n    <xsl:template match="/">\n        <xsl:value-of select="translate('abc', 'e\xcc\x81abc', 'eabc')"/>  <!--0x65CC81-->\n        <xsl:value-of select="'&#10;'"/>\n        <xsl:value-of select="translate('abc', '\xc3\xa9abc', 'eabc')"/>  <!--0xC3A9-->\n    </xsl:template>\n</xsl:stylesheet>\n
Run Code Online (Sandbox Code Playgroud)\n

使用 Saxon 10 运行此命令会返回:

\n
bc\nabc\n
Run Code Online (Sandbox Code Playgroud)\n

翻译函数的第一次调用使用 \xc3\xa9 的分解形式(U+0065 和 U+0301),而第二次调用则使用 U+00E9。看来他们并没有受到平等的对待。这是可以预料的吗?这种行为是否在某处指定?

\n

xslt xpath

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

XPATH 未找到元素

我正在尝试使用以下 XPATH 检索表中特定元素的文本:

/html/body/form[2]/table/tbody/tr/td/table/tbody/tr[2]/td[7]/input
Run Code Online (Sandbox Code Playgroud)

使用

driver.maximize_window() # For maximizing window
driver.implicitly_wait(3) # gives an implicit wait for 20 seconds
driver.find_element(By.XPATH, value = "/html/body/form[2]/table/tbody/tr/td/table/tbody/tr[2]/td[7]/input").text()
Run Code Online (Sandbox Code Playgroud)

但我收到以下错误:

NoSuchElementException: Message: Unable to locate element: /html/body/form[2]/table/tbody/tr/td/table/tbody/tr[2]/td[7]/input
Run Code Online (Sandbox Code Playgroud)

我还尝试通过 CSS 选择器和值访问该元素,但没有成功。不幸的是,该链接是安全的,因此我无法共享它,但这是该元素的屏幕截图

在此输入图像描述

python xpath selenium-webdriver

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

有没有办法从XML文件中删除命名空间垃圾?

我需要从XML文件中选择一些节点(来自Silverlight XAP文件的AppNamespace.xaml,而不是它很重要),但该文件具有命名空间的东西,因此XPath不起作用.我可以浪费大部分时间试用和错误的XmlNamespaceManager的束缚和纪律噩梦,并最终得到无法容忍的脆弱代码,这些代码无法容忍输入文件中的最轻微变化(在生产代码中不是一个好主意),或者我可以使用荒谬的local-name()语法[1].

但是将XPath用作人类可读的查询语言会更方便,可以用来从任意XML文件返回指定的节点或属性值.

那么有没有办法从文件中删除线路噪音?还是我卡住了?Linq-to-XML的迷宫式是否真的是较小的邪恶?

[1]

//*[local-name() = 'Deployment']/*[local-name() = 'Deployment.Parts']/*[local-name() = 'AssemblyPart']/@*[local-name()='Name']
Run Code Online (Sandbox Code Playgroud)

更新

五年之后,除了一些想要使用更强大的东西的纤维外,我对每一种纤维都支持"迷宫般的低能"一词.

xpath namespaces linq-to-xml

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

阅读xml的最佳方式

什么是阅读XML的最佳方式?

我的xml就像我会有很多

<A> and <B>, not sure how many will be there and I have to read the whole xml file.
Run Code Online (Sandbox Code Playgroud)

我不能说子元素喜欢

<180> will be there under <A> for sure. So does the other element.
Run Code Online (Sandbox Code Playgroud)

但如果它在那里我必须阅读它.

我应该使用LINQ或XPath还是XMLReader?哪一个更好更容易?

        <A>
            <180>20130218</180>  ///180 is here
            <170>5</170>
            <220>20080210</220>
            <730 CLID='AAA' KW='BBB' KW2='INTERNATIONAL'>
                <731>BBB INTERNATIONAL AG</731>
                <732>XXX</732>
                <735>US66</735>
                <734>YYY</734>
            </730>
            <300>
                <301>
                    <320>20071100</320>
                    <310>12345</310>
                </301>
                <330>US</330>
            </300>
        </A>
        <A>                    ///180 is not here
            <170>5</170>
            <220>20080210</220>
            <730 CLID='AAA' KW='BBB' KW2='WORLD'>
                <731>BBB INTERNATIONAL AG</731>
                <734>YYY</734>
            </730> …
Run Code Online (Sandbox Code Playgroud)

c# xml linq xpath xmlreader

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

(HTML) 通过 CSS 选择器选择下一个匹配元素?

我在 selenium webdriver 中使用 CSS 选择器。

假设我有一个如下所示的 DOM:

<div class="test">
    <a class="example"> Comet </a>
</div>
<div class="test">
    <a class="example"> Asteroid </a>
</div>
<div class="test">
    <a class="example"> Planet </a>
</div>
Run Code Online (Sandbox Code Playgroud)

假设我想将标签与“Asteroid”相匹配。如果我使用 CSS 选择器,我可以这样做:div.test > a.example

唯一的问题是这将匹配所有三个。使用 xpath,我可以执行如下操作:(//div/a[@class='example'])[2]这将告诉它选择第二个匹配元素。

有没有办法使用 CSS 选择器来做同样的事情?只需选择第二个或第三个匹配元素?我尝试过:nth-child(),但这似乎只适用于指定节点的子节点,并且似乎不像我给出的 xpath 示例那样工作,或者也许我做错了。

html css xpath webdriver css-selectors

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

Xpath nodeValue/textContent 无法看到 &lt;BR&gt; 标记

HTML如下:

<a href="#">ABC<BR>DEF</a>
Run Code Online (Sandbox Code Playgroud)

但是,nodeValue 和 textContent 属性都显示"ABCDEF"为值。

有什么方法可以显示或解析<BR>

html php xpath

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

如果给定 xml 中的属性值不为空,则获取属性值

在下面的 XML 中,如果 IdealId 元素中的 Type="CARMENT",我需要属性值 (ID="5682094")

<ns0:doingRS xmlns:ns0="http://myorg.com" xmlns:ns2="http://commonOrg">
    <ns2:Pass/>
    <ns0:something>
        <ns0:some abc="false" xyz="false" prq="track" str="RACK" fdg="true" fgdg="true" fdfd="false" ewe="false" ytyt="false" trtrt="false" ewew="false" fdfdf="false" bgn="false" ujm="false" qa="false" qws="false" qwe="false" wqwqwqw="false">
            <ns2:SomeRates>
                <ns2:SomeRate CodeH="track" someCode="RACK">
                    <ns2:SomeProfile>
                        <ns2:SomeProfileList>
                            <ns2:IdealID Type="Prr" Ideal_CTX="ABC" ID="5033095"/>
                            <ns2:IdealID Type="CARMENT" Ideal_CTX="ABC" ID=""/>
                        </ns2:SomeProfileList>
                    </ns2:SomeProfile>
                    <ns2:SomeProfile>
                        <ns2:SomeProfileList>
                            <ns2:IdealID Type="Prr" Ideal_CTX="ABC" ID="5043839"/>
                            <ns2:IdealID Type="CARMENT" Ideal_CTX="ABC" ID=""/>
                        </ns2:SomeProfileList>
                    </ns2:SomeProfile>
                    <ns2:SomeProfile>
                        <ns2:SomeProfileList>
                            <ns2:IdealID Type="Prr" Ideal_CTX="ABC" ID="5682094"/>
                            <ns2:IdealID Type="CARMENT" Ideal_CTX="ABC" ID="5682094"/>
                        </ns2:SomeProfileList>
                    </ns2:SomeProfile>
                </ns2:SomeRate>
            </ns2:SomeRates>
        </ns0:some>
    </ns0:something>
</ns0:doingRS>
Run Code Online (Sandbox Code Playgroud)

所以总而言之,当且仅当属性不为空时,我才需要属性值。如果存在xpath/xquery来提取属性Id,请帮帮我

xpath xquery osb

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

获取 Parent 不是类的元素

我想在 javascript 中返回一个在其父元素中没有类的元素。

例如,我想在以下代码片段中获取子类元素,该元素没有“父”作为父元素的类

<div>
   <div class= "parent">
      <div class="child">
         Not to be selected 
      </div>
   </div>
   <div>
     <div class="child">
        To be selected
     </div>
   </div>
</div>
Run Code Online (Sandbox Code Playgroud)

我试图通过量角器中的 xpath 返回它

javascript css xpath element protractor

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