【问题标题】:Using Selenium -- how iterate Trello cards in a specific column?使用 Selenium——如何在特定列中迭代 Trello 卡片?
【发布时间】:2020-03-08 12:03:41
【问题描述】:

所以还没有代码,但是有人知道我如何使用 Selenium:

1) 检查特定列中是否存在 Trello 卡。 (是的,我知道 XPATH 和选择器 :)) 2) 在卡片存在时迭代该列中的所有卡片(以执行涉及每张卡片的操作)。

我想用 Selenium 自动化一个工作项目(我对此很满意,但我不知道如何在 Trello 的列中循环遍历元素。

谢谢!

【问题讨论】:

    标签: selenium selenium-chromedriver selenium-ide trello


    【解决方案1】:

    一些粗略的 Python 代码开始使用 Trello ——这个问题很笼统,所以我不确定你的最终目标是什么:

    from selenium import webdriver
    
    # navigate to trello
    driver = webdriver.Chrome();
    driver.get("https://trello.com/b/hLMqdeiE/welcome-to-trello")
    
    # you probably need to log in here
    # select a board?
    
    # get list of cards in a column
    # 'Things To Do' is the name of my list in trello.
    cards_for_column = driver.find_elements_by_xpath("//div[textarea[text()='Things To Do']]/following-sibling::div[contains(@class, 'list-cards')]/a")
    
    for card in cards_for_column:
    
        # print URL to edit the card
        print(card.get_attribute("href"))
    

    如果您想要更具体的答案,最好自己开始,这样我们就可以更好地了解您在此处尝试做什么。

    【讨论】:

    • 感谢您快速简洁的回答/示例 Christine!我正在尝试遍历特定列的所有卡片,以便我可以从每张卡片中提取信息以及单击每张卡片中的链接以转到另一个站点并从这些站点中提取信息,然后返回到板。我的第一个也是最大的问题是/只是了解我如何迭代卡片,没想到会这么简单!我会试一试!谢谢:)
    • 一旦您单击卡片进行编辑,解决方案将变得棘手,因为(取决于 Trello 的工作方式),您在 cards_for_column 中对 card 的引用可能会过时并抛出 StaleElementReference--这意味着您需要通过索引(而不是 foreach)跟踪 card 变量,并每次在循环内重新执行 driver.find_elements_by_xpath 语句。如果您的代码遇到任何问题,请随时发布另一个问题。
    • 我觉得用Trello APIs比较好?
    • 原发帖人专门要求提供一个 Selenium 示例,所以我提供了这个。如果他们想采用 API 方法,他们可以根据上下文重新格式化他们的问题。
    猜你喜欢
    • 2015-03-23
    • 2015-05-26
    • 2012-04-06
    • 2015-03-29
    • 2012-08-20
    • 1970-01-01
    • 1970-01-01
    • 2015-08-20
    • 2015-09-30
    相关资源
    最近更新 更多