2017-09-01 6 views
-1

私はulの各liを、下から上に逆転させたいと思っています。 私はこれを試してみたが動作しません:逆ループセレンのpython

... 
for li in reversed(ol_chat_messages.find_elements_by_xpath(".//li")): 
... 
+1

は何 –

+0

をwork'ません '定義してください。期待される出力とあなたが得ている出力は何ですか? –

+0

[ask]、特に[mcve](MCVE)の部分、[どの程度の研究努力が必要ですか?](https://meta.stackoverflow.com/questions/261592/how-much-research-effort)をお読みください。 -is-expected-of-stack-overflow-users)これはあなた自身のプログラムをデバッグし、自分で問題を解決するのに役立ちます。あなたがこれを行い、まだまだ立ち往生している場合は、あなたがMCVEを投稿し、何を試したのか、そしてエラーメッセージを含む実行結果を投稿して、より良くあなたを助けることができます。また、ページや関連するHTMLへのリンクを提供してください。 – JeffC

答えて

2

私は、コードをテストしていませんが、私はfind_elements_by_xpath戻り発電機を考えます。

したがって、あなたはそれをリストに変換する必要があり、このように、逆転で使用する:

for li in reversed(list(ol_chat_messages.find_elements_by_xpath(".//li"))): 

サンプル検証コード:

>>> HTML = '''\ 
... <ul> 
...  <li>1</li> 
...  <li>2</li> 
...  <li>3</li> 
...  <li>4</li> 
...  <li>5</li> 
... </ul>''' 
>>> from selenium import webdriver 
>>> driver = webdriver.Chrome() 
>>> open('temp.htm', 'w').write(HTML) 
70 
>>> driver.get('file://c:/scratch/temp.htm') 
>>> for li in reversed(list(driver.find_elements_by_xpath('.//li'))): 
...  li.text 
...  
'5' 
'4' 
'3' 
'2' 
'1'