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