Python 2.7 迭代/增量webelements

Python 2.7 迭代/增量webelements,python-2.7,xpath,selenium-webdriver,Python 2.7,Xpath,Selenium Webdriver,我如何迭代或增加webelements,如下所示: xpath示例: .//*[@id='content']/div[5]/ul/li/ul/li[1]/a .//*[@id='content']/div[5]/ul/li/ul/li[2]/a Windows应用程序模块是父元素。 AMExchange2007和AMHealth是同一级别的元素。我希望在同一级别上遍历这些元素 上面提供的xpath是相同级别的元素的集合。 根据要求添加HTML代码: <ul class="childpa

我如何迭代或增加webelements,如下所示:

xpath示例:

.//*[@id='content']/div[5]/ul/li/ul/li[1]/a

.//*[@id='content']/div[5]/ul/li/ul/li[2]/a
Windows应用程序模块是父元素。 AMExchange2007和AMHealth是同一级别的元素。我希望在同一级别上遍历这些元素

上面提供的xpath是相同级别的元素的集合。 根据要求添加HTML代码:

<ul class="childpages-macro">
<li>
<a href="/display/DCM/Windows+Apps+Modules">Windows Apps Modules</a>
<ul class="childpages-macro">
<li>
<a href="/display/DCM/AM-Exchange2007">AM-Exchange2007</a>
<ul class="childpages-macro">
<li>
<a href="/display/DCM/Exchange2007+-+Hotfixes">Exchange2007 - Hotfixes</a>
</li>
<li>
<a href="/display/DCM/Exchange2007+-+Potential+Fixes+and+Diagnostic+Drops">Exchange2007 - Potential Fixes and Diagnostic Drops</a>
</li>
<li>
<a href="/display/DCM/Exchange-7.6">Exchange-7.6</a>
<ul class="childpages-macro">

<li>
<a href="/pages/viewpage.action?pageId=35359035">POC/Spike Sprint</a>
</li>
<li><li><li></ul></li><li></ul></li>
<li>
<a href="/display/DCM/AMHealth">AMHealth</a>
<ul class="childpages-macro">
<li>
<a href="/pages/viewpage.action?pageId=37127678">AM Health 8.2.0.2 (Hotfix)</a>
<ul class="childpages-macro">
<li>
<a href="/pages/viewpage.action?pageId=37129112">Sprint1 AC/AT's</a>
<ul class="childpages-macro">
<li><li><li><li></ul></li><li><li></ul></li>
<li>
<a href="/display/DCM/RCA+-+AMHealth">RCA - AMHealth</a>
</li></ul></li>

抱歉,如果问题不太清楚。

如果我正确理解了问题,您可能需要使用以下代码:

counter = 1
while len(driver.find_elements_by_xpath('//ul[@class="childpages-macro"]/li/a[count(./ancestor::ul[@class="childpages-macro"])=%d]' % counter)) > 0:
    print("\n%d level links:" % counter)
    for link in driver.find_elements_by_xpath('//ul[@class="childpages-macro"]/li/a[count(./ancestor::ul[@class="childpages-macro"])=%d]' % counter):
        print(link.text)
    counter += 1 
输出是

1 level links:
Windows Apps Modules

2 level links:
AM-Exchange2007
AMHealth

3 level links:
Exchange2007 - Hotfixes
Exchange2007 - Potential Fixes and Diagnostic Drops
Exchange-7.6
AM Health 8.2.0.2 (Hotfix)
RCA - AMHealth

4 level links:
POC/Spike Sprint
Sprint1 AC/AT's

您是否可以共享
HTML
code或page
URL
?是否已使用HTML编码编辑了问题?您可以解释:[count(./祖先::ul[@class=“childpages macro”])=%d]%计数器我正在尝试使用类似的结构,但得到的是空白列表。((browser.find_elements_by_xpath('//div[@id=“page children”]]/a[count(./祖先::div[@id=“page children”])=%d]。]page:
/a[count(./祖先::ul[@class=“childpages macro”])=%d]。%counter
意味着我们需要
/code>元素和祖先的计数
ul
(父母、祖父母)等于当前值
计数器
(链接级别)的元素。考虑到刚才提供的
HTML
sample,我无法建议正确的解决方案。你能分享更多细节或提交新的票证吗。。我可以做出改变,但我不知道/span