Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.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
无法使用selenium webdriver单击电子邮件模板的链接按钮_Selenium_Selenium Webdriver - Fatal编程技术网

无法使用selenium webdriver单击电子邮件模板的链接按钮

无法使用selenium webdriver单击电子邮件模板的链接按钮,selenium,selenium-webdriver,Selenium,Selenium Webdriver,是否有方法使用selenium webdriver识别电子邮件正文模板中的链接 我试图实现一个场景的自动化,在这个场景中,我将收到一封邮件,邮件正文中有一个链接,可以单击以完成注册过程 使用公共邮件服务器,我可以使用Selenium登录到基于web的电子邮件提供商。我点击了收到的电子邮件,但web驱动程序无法使用电子邮件正文模板中包含的ID webelement定位器识别链接。执行后,我会出现以下错误: org.openqa.selenium.NoSuchElementException:没有这

是否有方法使用selenium webdriver识别电子邮件正文模板中的链接

我试图实现一个场景的自动化,在这个场景中,我将收到一封邮件,邮件正文中有一个链接,可以单击以完成注册过程

使用公共邮件服务器,我可以使用Selenium登录到基于web的电子邮件提供商。我点击了收到的电子邮件,但web驱动程序无法使用电子邮件正文模板中包含的ID webelement定位器识别链接。执行后,我会出现以下错误:

org.openqa.selenium.NoSuchElementException:没有这样的元素:无法定位元素:{“方法”:“id”,“选择器”:“注册URL”}

电子邮件链接的HTML格式:


我能够从mailinator中查看一封示例电子邮件

如果进一步查看html,您将看到电子邮件正文包含在iframe下。因此,单击电子邮件后,您必须先切换到该iframe,然后再单击链接:

// Click on the email

// Now switch to the email body iframe:
driver.switchTo().frame("msg_body");

// Click on the email link 

// If you need to go back to the menu, don't forget to switch back:
driver.switchTo().defaultContent();

欢迎来到堆栈溢出!请参阅:SO的期望是,用户提问时不仅要进行研究以回答自己的问题,还要分享研究、代码尝试和结果。这表明你花了时间来帮助自己,它使我们避免重复显而易见的答案,最重要的是,它帮助你得到一个更具体和相关的答案!另请参见:您使用的是哪一个公共电子邮件服务器,您还可以发布所需区域的HTML以及您的selenium代码。@Hac:Iam使用mailinator.com邮件服务器以及提到的详细信息:“style=”font-family:“arial”,“helvetica”,无衬线;字体大小:16px;线高:16px;颜色:#fff;文字装饰:无;显示:block“target=“_other”rel=“nofollow”>入门Generic.waitForElement(malinatoremailid,1,驱动程序);Generic.click(malinatoremailid,驱动程序);Generic.enterText(malinatoremailid,map.GET(0).GET(“Email”),驱动程序);Generic.click(go,驱动程序);Generic.waitForElement(Email,2,驱动程序);Generic.click(email,driver);我想点击上面包含在电子邮件模板正文中的URL id定位器,很好!很高兴它成功了。也感谢您接受我的回答。