ajax - 使用 selenium 阅读 gmail 上的电子邮件

标签 ajax xpath selenium gmail selenium-rc

我正在使用 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/

相关文章:

json - JSON 的 xpath 与 XML 不同

google-chrome - 是否可以使用 Google Chrome 而不是 chromedriver with selenium?

python - 如何从 url 列表中查找有多少 url 正在运行

javascript - 使用ajax将JSON发送到PHP,数据出现问题

javascript - Jquery中有内置方法吗?

javascript - 如何在不使用全局变量的情况下在 javascript 中存储和访问 ajax 数据?

javascript - AJAX getElementsByClassName 获取元素

xml - 为什么xsl是:for-each-group missing some elements?

php - XPath 和 PHP : Matching text after a <br>

java - Selenium Java Firefox 驱动程序 - Cookie