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

我希望提取位于 阶层 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>

解决方案:

简单修复使用 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

给TA打赏
共{{data.count}}人
人已打赏
未分类

如何检查Uri数据是否包含一些词,然后在webview中替换?

2022-9-9 9:54:21

未分类

如何从Robolectric上的服务中获取一个结果代码。

2022-9-9 10:05:16

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索