如何遍历使用Python和Selenium找到的元素的子元素?

问题描述 投票:0回答:1

我已经通过链接文本找到了要查找的元素,现在我想打印其所有子元素的名称。问题是页面上还有其他链接使用同一类,而我只想要该类的子类。

我首先找到想要的一个:driver.find_element_by_link_text('Shift Turnover')

然后,我尝试了几种迭代方法(但是我只是不太了解它:):>

elements =

search_box.find_elements_by_class_name("plugin_pagetree_children_container")
or
search_box.find_elements_by_tag_name("li")

和其他几个,但我不想浪费时间或使问题困惑。

我也应该添加此页面为合流页面(如果重要的话)...然后循环...

   for e in elements:
      print(e.Text)
      or
      print(e.getText())

enter image description here

我不清楚融合页面的哪些部分是相关的,但这是来源的示例……

''''

    <li class="first" >

                        <span class=""><a href="/collector/pages.action?key=Cardians">Dashboard</a></span>
                                                                                                        <li id="ellipsis" title="Show all breadcrumbs"><span><strong>&#8230;</strong></span></li>


    <li class="hidden-crumb" >

                        <span class=""><a href="/display/Cardians/TOC-Card">TOC-Card</a></span>


    <li class="hidden-crumb" >

                        <span class=""><a href="/display/Cardians/Cardians">Cardians</a></span>


    <li class="hidden-crumb" >

                        <span class=""><a href="/display/Cardians/Shift+Turnover">Shift Turnover</a></span>


    <li>

                        <span class=""><a href="/display/Cardians/November+2019+Turnovers">November 2019 Turnovers</a></span>
                                                                </ol>


                </div>


    <a href="#page-banner-end" class="assistive">Skip to end of banner</a>

''''

我已经通过链接文本找到了要查找的元素,现在我想打印其所有子元素的名称。问题是在页面上还有其他链接使用同一类,并且...

python selenium loops element children
1个回答
0
投票

如果li元素是链接文本Shift Turnover的子元素,请尝试以下解决方案>

ParentElement = WebDriverWait(driver, 15).until(EC.visibility_of_element_located((By.XPATH, "//a[contains(text(),'Shift Turnover']")))
ActionChains(driver).move_to_element(ParentElement).click().perform()


all_li = driver.find_elements_by_xpath("//a[contains(text(),'Shift Turnover']//li//span/a"))
for li in all_li:
print li.text
© www.soinside.com 2019 - 2024. All rights reserved.