我正在使用 selenium-rc 并尝试单击 gmail 上的特定电子邮件以进入电子邮件页面。更具体地说:在 gmail 收件箱上,单击具有特定主题的电子邮件。
我找不到正确的 xpath(电子邮件部分中的所有标签都不是链接)。想法?
我正在使用 selenium-rc 并尝试单击 gmail 上的特定电子邮件以进入电子邮件页面。更具体地说:在 gmail 收件箱上,单击具有特定主题的电子邮件。
我找不到正确的 xpath(电子邮件部分中的所有标签都不是链接)。想法?
将 gmail 更改为基本 html 模式。
这个 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 的免费监控服务,它允许您运行 Selenium 脚本来检查您网站的性能和功能。
您的应用程序是偶然的 Ruby on Rails 吗?如果是这样,电子邮件规范是测试电子邮件的好方法,而不必乱用 Gmail:http: //github.com/bmabey/email-spec
我用了这个命令
clickAt | //table/tbody/tr/td[5]/div[@class='yW'] |
单击第一个/最近/最顶部邮件的 FROM 字段以转到邮件详细信息页面。// 注意:tr 表示第一封邮件,tr[2] 表示第二封邮件,依此类推。