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

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

最佳答案

这个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意识到您正在单击。它不能仅通过简单的“ click”命令来工作。

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

10-08 02:57