我正在使用 selenium-rc,我正在尝试单击 gmail 上的特定电子邮件以进入电子邮件页面。更具体地说:在 gmail 收件箱上,单击具有特定主题的电子邮件。
我找不到正确的 xpath(电子邮件部分中的所有标签都不是链接)。想法?
最佳答案
这个 XPath 应该可以解决问题:
//div[@class = 'y6']/span[contains(., 'subject_here')]
...假设您首先更改为 canvas_frame 框架。否则,它根本不可能工作。如果您没有使用 Firebug 来检查 HTML,那么您真的应该这样做,因为这就是我发现这些值的方式。此外,Gmail 结构的变化相当规律,因此 y6 类(class)随时可能发生变化。
我没有对此进行测试,但这可能对你有用:
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 脚本来检查您网站的性能和功能。
关于ajax - 使用 selenium 阅读 gmail 上的电子邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1737957/