0

find_element_by_xpath()を使用してページ上のテーブル要素を検索し、それらを表示または印刷する方法を理解しようとしています。

ページ情報の抜粋は次のとおりです。

<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"
4

2 に答える 2

0

xpath(xpath2)が正しくありません。'//*[@id="listContainer_row:0"]/td'Web要素のリストを返すxpathとして使用する必要があります。おそらく、を使用find_elements_by_xpathし、Web要素を反復処理して、get_text()各Mでメソッドを使用する必要があります。

于 2013-01-05T17:04:40.213 に答える
0

動作しました!以下のコード:

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

ここにあるドキュメントが役に立ちました!

于 2013-01-05T20:23:10.183 に答える