如何在Selenium中用Python检查Xpath是否存在并获取span文本?

问题描述 投票:0回答:1

我希望提取位于 阶层 badge pull-right bg-green r-r. 然而, 阶层 badge pull-right bg-green r-r 可能不一定可用。具体来说,我想把元素等于 Hello World 每当 阶层 badge pull-right bg-green r-r 是可利用的,并且等于 No Exist阶层 badge pull-right bg-green r-r 是不可用的。

通过调整代码,从 执行部分第1段为了适应当前的需要,我们实现了以下代码。

if len( self.browser.find_element_by_xpath('.//span[@class = "badge pull-right bg-green m-l-5 m-r-5"]') ) > 0 :  
    element = \
    self.browser.find_elements_by_xpath( './/span[@class = "badge pull-right bg-green m-l-5 m-r-5"]' )[ 0 ].text

但是,我得到了以下错误

类型错误:'WebElement'类型的对象没有len()

先谢谢你的见解。

为了便于排除故障,下面给出了网站完整的外部HTML框架。

 <li id="tcl_SiringMenu1_sbmenu" class="has-sub">
        <a href="javascript:;">
         <b class="caret pull-right"></b>
         <i class=" tcl tcl -fw tcl -myr"></i>
         <span>Ruang PeluangGame <span class="badge pull-right bg-gray r-r">Hello World</span> </span>
        </a>

        <ul class="sub-menu" style="display: none;">
            <li id="tcl_SiringMenu1_AmbilDuit">
            <a href="/pguna/ambilduit/permainan.aspx">
            Permainx LODR<span class="badge pull-right bg-green r-r">Hello World</span></a>
            </li>
        </ul>
    </li>
python selenium xpath
1个回答
1
投票

简单修复使用 find_elements_by_xpath()而不是 find_element_by_xpath()

if len( self.browser.find_elements_by_xpath('.//span[@class = "badge pull-right bg-green m-l-5 m-r-5"]') ) > 0 :  
    element =self.browser.find_elements_by_xpath( './/span[@class = "badge pull-right bg-green m-l-5 m-r-5"]' )[ 0 ].text
最新问题
© www.soinside.com 2019 - 2024. All rights reserved.