2017-11-07 13 views
0

私はTwitterの投稿を自動化してitems_on_queueに抽出されたセレニウムオブジェクトのリストを持っています。これはthings_to_tweetのオブジェクトのリストと比較する必要があります。セレンのオブジェクトリストと文字列のリストを比較する

私はこれらの2つのリストを比較し、私が投稿に使用できる一意のリストを出力するために見つけた重複を排除する必要があります。

問題はそれらが異なるフォーマットであることと、それらを比較するために正規化する方法がわかりません。

items_on_queue = [<selenium.webdriver.remote.webelement.WebElement (session="0ea37ee02c8889e324028b8a7a66568f", element="0.3932763505379022-2")>, <selenium.webdriver.remote.webelement.WebElement (session="0ea37ee02c8889e324028b8a7a66568f", element="0.3932763505379022-3")>] 

things_to_tweet = [('The Nanome User Story', '...', 'https://blog.matryx.ai/the-nanome-stack-user-story-530a95812484'), ('Goldman Sachs CEO sees Bitcoin as part of a financial n', '...', 'https://cryptodaily.co.uk/2017/11/goldman-sachs-ceo-sees-bitcoin-part-financial-new-world/'), ('$8,000? Goldman Sachs Analysts See Possible Bitcoin Pri', '...', 'https://www.coindesk.com/8000-goldman-sachs-analysts-see-possible-bitcoin-price-jump/')] 

セレンojectリストについて興味深いのは、各項目がthings_to_tweetと同じ形式であることです。私は唯一のオブジェクトへの.text広告に必要との結果は、(例)のように表示されます。

el = <selenium.webdriver.remote.webelement.WebElement (session="0ea37ee02c8889e324028b8a7a66568f", element="0.3932763505379022-2")> 

el.text = ('The Nanome User Story', '...', 'https://blog.matryx.ai/the-nanome-stack-user-story-530a95812484') 

これは私がこれら二つの異なる形式のリストを比較することができますどのようにthings_to_tweet

で持っているのと同じ形式です重複を排除する?私は他のリストのすべてのelと比較してリスト内のすべてのel.textの比較を行う必要があると思いますが、それを行う方法はわかりません。

アイデア?

for item, tweet in zip(items_on_queue, things_to_tweet): 
    if item.text == tweet: 
     # do something 

か、両方のリストをループすることができます:あなたはzip()の両方のリストをループ使用することができます

+0

がどのように各タプルのメンバーが希望WebElementに対応しますそれを比較する? –

+1

"フォーマット"と呼ばれるものは、オブジェクトの文字列表現です。 WebElementの場合、 'WebElement'クラスが出力する' __str__'メソッドが何であっても見ることができます。これは**それが表すHTML要素と同じではありません**。 –

+0

私は新しいです。私はその質問を理解しているか分からない。彼らは同じ種類の情報、文章、3つのドット、最後にリンクです。唯一の違いは、el.textを使ってthings_on_queueから要素を抽出できることと、「el」だけを使ってthings_to_tweetから同じ正確なテキスト要素を抽出できることです。役に立ったかどうかわからない – skeitel

答えて

1

はありがとう

for el in items_on_queue: 
    for tweet in items_to_tweet: 
     if tweet == el.text: 
      # do something 
関連する問題