Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Robotframework 如何点击邮件正文中的链接以及如何使用Robot框架识别链接_Robotframework - Fatal编程技术网

Robotframework 如何点击邮件正文中的链接以及如何使用Robot框架识别链接

Robotframework 如何点击邮件正文中的链接以及如何使用Robot框架识别链接,robotframework,Robotframework,如何找出链接并单击电子邮件正文中的链接 ${FIELD NAME}= ImapLibrary.Get Links From Email ${latest} ${mailbody}= ImapLibrary.Get Email Body ${latest} ${HTML}= ImapLibrary.Open Link From Mail ${latest} 但当我给出“获取邮件正文”时,我能够获取邮件正文中的全部内容。如何从那里找出链接以及如何从那里单击?要找

如何找出链接并单击电子邮件正文中的链接

${FIELD NAME}=    ImapLibrary.Get Links From Email    ${latest}
${mailbody}=    ImapLibrary.Get Email Body    ${latest}
${HTML}=    ImapLibrary.Open Link From Mail    ${latest}

但当我给出“获取邮件正文”时,我能够获取邮件正文中的全部内容。如何从那里找出链接以及如何从那里单击?

要找到需要使用regexps的链接。例如,此Stackoverflow问题回答了如何在文本中查找URL:

在Robot框架中看起来是这样的:

*** Settings ***
Library           re

*** Variables ***
${mailbody}   this is mail body http://www.stackoverflow.com/ foobar https://stackoverflow.com/questions/31288261/how-to-click-the-link-in-email-body-and-how-to-spot-out-the-link-using-robot-fra

*** Settings ***
Library           re

*** Variables ***
${mailbody}   this is mail body http://www.stackoverflow.com/ foobar https://stackoverflow.com/questions/31288261/how-to-click-the-link-in-email-body-and-how-to-spot-out-the-link-using-robot-fra
${url regexp}    http[s]?://(?:[a-zA-Z]|[0-9]|[$-_@.&+]|[!*\(\),]|(?:%[0-9a-fA-F][0-9a-fA-F]))+

*** Test Cases ***
Get Urls
    @{lines}=    re.findall    ${url regexp}    ${mailbody}     
    Log Many    @{lines}

您不能真正单击这些链接,而是应该使用Selenium2库在浏览器中打开它们。

非常感谢。。我可以得到所有的链接。现在如何指出联系。如果它显示10个链接。打开浏览器firefox转到@{lines}[9]。我可以这样给你吗。要通过该链接,您可以使用Selenium2Library在浏览器中打开它们:我永远记不住Selenium2Library的正确语法,所以我的浏览器工具栏中有此链接:。正确的命令是:“openbrowser@{lines}[9]Firefoxcan log many可以存储在这样一个变量中${values}=log many@{lines}。我不这么认为。我不明白你想做什么,请打开一个新问题。