【问题标题】:Displaying table data from page using find_element_by_xpath (Selenium, Python)使用 find_element_by_xpath (Selenium, Python) 从页面显示表格数据
【发布时间】:2013-01-05 14:24:19
【问题描述】:

我正在尝试弄清楚如何使用find_element_by_xpath() 在页面上查找表格元素并显示或打印它们。

这是页面信息的sn-p:

<tbody id="listContainer_databody">  
            <tr id="listContainer_row:0" class=""><th  scope="row" class="" valign="top"></th>
                <td  class="" valign="top">2012Fall-ACC1300-01</td>
                     <td  class="" valign="top">INTRO TO FINANCIAL ACCOUNTING</td>
                     <td  class="" valign="top">3/2/12 1:03 PM</td>
                     <td  class="" valign="top">jdoe</td>
                     <td  class="" valign="top">Jane Doe</td>
                     <td  class="" valign="top">2012Fall_CRS</td>
            </tr>

我找不到任何显示如何实际执行此操作的内容,因此我可以打印如下:

                     2012Fall-ACC1300-01
                     INTRO TO FINANCIAL ACCOUNTING
                     3/2/12 1:03 PM
                     jdoe
                     Jane Doe
                     2012Fall_CRS

到目前为止,我在 Python 中的代码没有给我错误,但我似乎无法显示我想要的结果或至少一点信息:

try:
xpath = '//*[@id="listContainer_databody"]'
    xpath2 = '//*[@id="listContainer_row:0"]/td[2]' 
results = browser.find_element_by_xpath(xpath2)
print results.get_attribute('td[2]')

except NoSuchElementException:
 assert 0, "can't find xpath"

【问题讨论】:

    标签: python html selenium html-table


    【解决方案1】:

    您的 xpath (xpath2) 不正确。您应该使用'//*[@id="listContainer_row:0"]/td' 作为xpath,它将返回一个Web 元素列表。您可能需要使用find_elements_by_xpath,迭代网络元素并在每个元素上使用get_text() 方法。

    【讨论】:

    • 感谢您的提示。我只是在发布我的帖子后才注意到您的回复。我们在同一页上。谢谢你的帮助!使用 get_text() 无效,但 i.text 有效。
    【解决方案2】:

    我搞定了!下面的代码:

    xpath = '//*[@id="listContainer_row:0"]/td'
    for i in browser.find_elements_by_xpath(xpath):
        print (i.text)
    

    产生了以下结果:

                     2012Fall-ACC1300-01
                     INTRO TO FINANCIAL ACCOUNTING
                     3/2/12 1:03 PM
                     jdoe
                     Jane Doe
                     2012Fall_CRS
    

    documentation HERE 帮忙了!

    【讨论】:

      猜你喜欢
      • 2022-01-11
      • 1970-01-01
      • 1970-01-01
      • 2020-01-13
      • 2021-03-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-06-25
      相关资源
      最近更新 更多