我正在尝试点击网站上的分页页面,并且在每个加载的页面上我需要检查是否存在上一步中创建的元素,因为页面的分配是动态的我不会知道在创建哪个页面之前会显示新创建的元素,所以需要检查所有元素直到找到它。
分页的代码是
<div class="pagination" style="display: block; visibility: visible;"><ol><li class="current first"><a href="#">1</a></li><li><a href="#">2</a></li><li class="last"><a href="#">3</a></li></ol></div>
也可能在页面中有超过3页,我意识到我需要一个for或while循环,但是当我尝试读取存在的元素数时,我会遇到错误。
谢谢
利
答案 0 :(得分:1)
for page_link in driver.find_elements_by_xpath('//div[@class="pagination"]/ol/li/a'):
print "page number: %s" % page_link.text
page_link.click()
# parse the page and find the element
另一种可能的解决方案是获取最大页码并迭代整数范围直到最大值:
max_page_element = driver.find_element_by_xpath('//div[@class="pagination"]/ol/li[@class="last"]/a')
max_page = int(max_page_element.text)
for page in xrange(1, max_page + 1):
print "page number: %s" % page
page_link = driver.find_element_by_xpath('//div[@class="pagination"]/ol/li/a[text()="%s"]' % page)
page_link.click()
# parse the page and find the element