【问题标题】:Using selenium in order to read emails on gmail使用 selenium 阅读 gmail 上的电子邮件
【发布时间】:2015-12-11 23:34:41
【问题描述】:

我正在使用 selenium-rc,我正在尝试单击 gmail 上的特定电子邮件以进入电子邮件页面。更具体地说:在 gmail 收件箱上,单击具有特定主题的电子邮件。

我找不到正确的 xpath(电子邮件部分中的所有标签都不是链接)。想法?

【问题讨论】:

标签: ajax xpath selenium gmail selenium-rc


【解决方案1】:

这个 XPath 应该可以解决问题:

//div[@class = 'y6']/span[contains(., 'subject_here')]

...假设您首先更改为 canvas_frame 框架。否则,它根本不可能工作。如果您没有使用 Firebug 来检查 HTML,那么您真的应该这样做,因为这就是我发现这些值的方式。此外,Gmail 结构的变化相当规律,因此 y6 课程随时可能发生变化。

我没有对此进行测试,但这可能对你有用:

open http://gmail.com
// do the login stuff, click on login
waitForElementPresent canvas_frame
selectFrame canvas_frame
waitForElementPresent //div[@class = 'y6']/span[contains(., 'subject_here')]
clickAt //div[@class = 'y6']/span[contains(., 'subject_here')] 0,0
// do stuff you care about

重要提示:您必须使用 clickAt 才能使 Gmail 意识到您正在点击。它不适用于简单的“点击”命令。

顺便说一句,我们这样做是为了对 Gmail 进行内部监控,因为它在过去几个月里一直很不稳定。我们正在使用我的公司基于 Selenium 的 free monitoring service,它允许您运行 Selenium 脚本来检查您网站的性能和功能。

【讨论】:

    【解决方案2】:

    将 gmail 更改为基本 html 模式。

    【讨论】:

    • 可以工作..但我希望有更复杂的东西
    • 你这样做到底是为了什么?一定有更好的方法!
    • 基本模式当然可以,但我认为使用 XPath 获得创意会更有趣:)
    【解决方案3】:

    您的应用程序是不是偶然的 Ruby on Rails?如果是这样,电子邮件规范是测试电子邮件的好方法,而不必乱用 Gmail:http://github.com/bmabey/email-spec

    【讨论】:

      【解决方案4】:

      我用过这个命令

      clickAt | //table/tbody/tr/td[5]/div[@class='yW'] |
      

      点击第一个/最近/最顶部邮件的 FROM 字段以转到邮件详细信息页面。 // 注意:tr 表示第一封邮件,tr[2] 表示第二封邮件,以此类推。

      【讨论】:

        猜你喜欢
        • 2018-05-11
        • 2015-06-04
        • 1970-01-01
        • 1970-01-01
        • 2015-04-09
        • 2020-12-19
        • 1970-01-01
        • 2019-06-02
        • 2022-08-17
        相关资源
        最近更新 更多