我有一个自动化 Gmail 的要求。在这里我需要获取收件箱、垃圾邮件、批量等标签的未读邮件计数。如何使用 selenium RC 获取未读邮件的计数。假设标签为 Inbox(5)、Spam(10)、Bulk(34)。这意味着收件箱包含 5 封未读邮件,垃圾邮件包含 10 封未读邮件。那么对于这种要求,我如何使用 Selenium RC 来实现呢?
谢谢和问候,湿婆。
我有一个自动化 Gmail 的要求。在这里我需要获取收件箱、垃圾邮件、批量等标签的未读邮件计数。如何使用 selenium RC 获取未读邮件的计数。假设标签为 Inbox(5)、Spam(10)、Bulk(34)。这意味着收件箱包含 5 封未读邮件,垃圾邮件包含 10 封未读邮件。那么对于这种要求,我如何使用 Selenium RC 来实现呢?
谢谢和问候,湿婆。
我认为使用标准 IMAP 客户端界面,您将能够更快地完成任务。
请参阅 Perl 中的工作示例和有关Mail::ImapClient的更多官方文档
String inbox=selenium.getText("//a[contains(@title,'Inbox')]");
现在收件箱字符串变量包含收件箱(1)
String unreadInboxMails=inbox.substring(inbox.indexOf("(")+1,inbox.indexOf(")"));
通过这种方式,您可以获得所有标签,如垃圾邮件、批量等。您需要更改的只是标签定位器。
我希望这能解决你的问题。
这是获取所有文件夹的未读计数并显示在警报中的确切 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
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());