Html 用<;href>;及<;a>;标签
我试图点击一个“立即验证”按钮,该按钮嵌套在标签和标签中。我无法直接导航到href链接,因为每次链接都有不同的令牌要激活,这就是为什么我继续点击它 PFB html 此外,iframe中该电子邮件正文的页面源如下所示:Html 用<;href>;及<;a>;标签,html,ruby,selenium,safari,automation,Html,Ruby,Selenium,Safari,Automation,我试图点击一个“立即验证”按钮,该按钮嵌套在标签和标签中。我无法直接导航到href链接,因为每次链接都有不同的令牌要激活,这就是为什么我继续点击它 PFB html 此外,iframe中该电子邮件正文的页面源如下所示: <div class="col-lg-12 col-md-12 col-sm-12" style="height:800px;clear:both;margin-bottom: 20px;padding-bottom: 20px;">
<div class="col-lg-12 col-md-12 col-sm-12" style="height:800px;clear:both;margin-bottom: 20px;padding-bottom: 20px;">
<iframe id="publicshowmaildivcontent" width="100%" height="100%" style="border: 0;">
EMAIL BODY
</iframe>
</div>
电子邮件正文
您可以在您的案例中使用以下xpath:
driver.findElement(By.xpath("//*[contains(text(),'Verify Now')]")).click();
希望对您有所帮助。修改了答案:
@Selenium_driver.switch_to.frame("publicshowmaildivcontent")
@Selenium_driver.find_element(:xpath, "//a[contains(text(), 'Verify Now')]").click
@Selenium_driver.switch_to.frame("publicshowmaildivcontent")
@Selenium_driver.find_element(:xpath, "//a[contains(@href, 'http://click1.clickrouter.com/')]").click
@Selenium_driver.switch_to.frame("publicshowmaildivcontent")
@element = @Selenium_driver.find_element(:xpath, "//a[contains(@href, 'http://click1.clickrouter.com/')]");
@Selenium_driver.executeScript("arguments[0].click();",@element);
或者您可以这样做:
@Selenium_driver.switch_to.frame("publicshowmaildivcontent")
@Selenium_driver.find_element(:xpath, "//a[contains(text(), 'Verify Now')]").click
@Selenium_driver.switch_to.frame("publicshowmaildivcontent")
@Selenium_driver.find_element(:xpath, "//a[contains(@href, 'http://click1.clickrouter.com/')]").click
@Selenium_driver.switch_to.frame("publicshowmaildivcontent")
@element = @Selenium_driver.find_element(:xpath, "//a[contains(@href, 'http://click1.clickrouter.com/')]");
@Selenium_driver.executeScript("arguments[0].click();",@element);
//尝试通过javascript单击:
@Selenium_driver.switch_to.frame("publicshowmaildivcontent")
@Selenium_driver.find_element(:xpath, "//a[contains(text(), 'Verify Now')]").click
@Selenium_driver.switch_to.frame("publicshowmaildivcontent")
@Selenium_driver.find_element(:xpath, "//a[contains(@href, 'http://click1.clickrouter.com/')]").click
@Selenium_driver.switch_to.frame("publicshowmaildivcontent")
@element = @Selenium_driver.find_element(:xpath, "//a[contains(@href, 'http://click1.clickrouter.com/')]");
@Selenium_driver.executeScript("arguments[0].click();",@element);
是否有方法使用部分href单击?正在检查。。。。。第二种选择。您所说的第一个也是@RNS建议的,但不起作用`@Selenium_driver.find_元素(:xpath,“//a[contains(text(),'Verify Now')])能否检查元素是否在iframe中?我在inspector中没有看到任何带有文本的标记。还有其他方法可以找到吗?嘿,我刚刚在页面的源代码中看到,这个电子邮件正文在iframe中。
电子邮件正文