我的html以下。我希望获得<li>
组并找到每个组。
<div id="shiplist" class="vertical slide" data-interval="false">
<div class="<inner ship-list-container">
<div class="item active">
<ul class="unstyled ship-list">
<li class="selected"></li>
<li>
<a href="....">
XXXX
<span class="small">
xxx
<li>
我目前的代码:
ItemList = driver.find_elements_by_xpath("//div[@class='inner ship-list-container']//div[@class='item']//ul/li")
for item in ItemList :
print item.find_element_by_xpath('//span[@class="small"]').text
driver.find_element_by_xpath('//div[@class="carousel-inner ship-list-container"]//div[@class="item active"]//ul/li[' + str(i) + ']/a').click()
当我通过以下代码捕获span class="small"
时,这是错误的
print item.find_element_by_xpath('//span[@class="small"]').text
StaleElementReferenceException:消息:在缓存中找不到u'Element - 也许页面自查找以来已经发生了变化'; Stacktrace:
答案 0 :(得分:0)
您可以通过这种方式解决问题:
ItemList = driver.find_elements_by_xpath("//div[@class='inner ship-list-container']//div[@class='item']//ul/li")
for x in range(len(ItemList)):
print ItemList[x].find_element_by_xpath('//span[@class="small"]').text
driver.find_element_by_xpath('//div[@class="carousel-inner ship-list-container"]//div[@class="item active"]//ul/li[' + str(i) + ']/a').click()
ItemList = driver.find_elements_by_xpath("//div[@class='inner ship-list-container']//div[@class='item']//ul/li")
答案 1 :(得分:0)
感谢理查德。
我的HTML
<li>
<a href="....">
XXXX
<span class="small">
X1
<li>
<li>
<a href="....">
XXXX
<span class="small">
X2
<li>
当我使用以下代码
时ItemList = driver.find_elements_by_xpath("//div[@class='inner ship-list-container']//div[@class='item']//ul/li")
for x in range(len(ItemList)):
print ItemList[x].find_element_by_xpath('//span[@class="small"]').text
这里
结果仅显示第一项 X1 X1