如何使用selenium RC获取gmail中未读邮件的数量?

时间:2012-11-16 07:36:44

标签: selenium webdriver selenium-rc

我需要自动化Gmail。这里我需要获取Lbox的未读邮件数量,如收件箱,垃圾邮件,批量等。如何使用selenium RC获取未读邮件的数量。 假设Lables为Inbox(5),Spam(10),Bulk(34)。这意味着Inbox包含5封未读邮件,Spam包含10封未读邮件。 那么对于这种要求我如何才能实现使用Selenium RC?

谢谢&问候, 希瓦。enter image description here

4 个答案:

答案 0 :(得分:2)

我认为使用标准的IMAP客户端界面,您将能够更快地完成任务。

请参阅有关example in Perl

Mail::ImapClient及更多官方文档

答案 1 :(得分:1)

String inbox=selenium.getText("//a[contains(@title,'Inbox')]");

现在inbox字符串变量包含收件箱(1)

String unreadInboxMails=inbox.substring(inbox.indexOf("(")+1,inbox.indexOf(")"));

通过这种方式,您可以获得垃圾邮件,批量等所有标签,只需要更改标签定位器。

我希望这能解决你的问题。

答案 2 :(得分:0)

这是精确的selenese(Selenium IDE)代码,它可以获取所有文件夹的未读数量并在警报中显示。

您可以通过调整一些命令将它与Selenium RC一起使用。

store | //div[@class='LrBjie']/div/div[ | target1
store | ]/div/div/div/span/a | target2
store | 1 | i
store | true | present
store |  | countsAll
while | ${present}==true | 
storeEval | storedVars['target1']+storedVars['i']+storedVars['target2'] | target
echo | ${target} | 
storeText | javascript{storedVars['target']} | counts
storeEval | storedVars['countsAll']+'  $  '+storedVars['counts']   |   countsAll
echo | ${countsAll} | 
storeEval | parseInt(storedVars['i'])+1 | i
storeEval | storedVars['target1']+storedVars['i']+storedVars['target2'] | target
storeElementPresent | javascript{storedVars['target']} | present
echo | ${present} | 
endWhile |  | 
storeEval | javascript{alert(storedVars['countsAll'])} | countsAll

答案 3 :(得分:-1)

WebDriver gmail = new ChromeDriver();
//Inbox count using xpath. From this output you can separate count from the string 'Inbox(20)'
WebElement inbox = gmail.findElement(By.xpath("//*[@id=':bb']/div/div[1]"));
System.out.println(inbox.getText());