将selenium对象列表与字符串列表

时间:2017-11-07 21:45:52

标签: python list selenium

我正在自动发布Twitter帖子,并在items_on_queue中有一个提取的selenium对象列表,我需要与things_to_tweet中的对象列表进行比较。

我需要比较这两个列表并消除我发现的任何重复项,以输出我可以用来发布的唯一列表。

问题在于它们的格式不同,我不知道如何将它们标准化以进行比较。

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/')]

关于selenium项目列表的有趣之处在于每个项目的格式与things_to_tweet中的项目格式相同。我只需要对该对象使用ad .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.text与其他列表中的所有el进行比较,但不知道该怎么做。

有什么想法吗? 谢谢

1 个答案:

答案 0 :(得分:1)

您可以使用zip()循环显示两个列表:

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

或者你可以遍历两个列表:

for el in items_on_queue:
    for tweet in items_to_tweet:
        if tweet == el.text:
            # do something
相关问题