0

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

谢谢和问候,湿婆。在此处输入图像描述

4

4 回答 4

2

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

请参阅 Perl 中的工作示例和有关Mail::ImapClient的更多官方文档

于 2012-11-16T07:46:34.450 回答
1
String inbox=selenium.getText("//a[contains(@title,'Inbox')]");

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

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

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

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

于 2012-11-16T14:55:30.970 回答
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
于 2013-05-08T10:49:31.177 回答
-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());
于 2016-05-02T05:30:47.087 回答