我尝试点击的链接根本无法识别。 chrome中的开发人员工具向我显示了以下结构中的链接:
<main
<div
<ifreame
#document
<html
<body
<form
<div
::before
<a href=wizard_view.do? sys_action=sysverb_wizard_ans&WIZARD:action=follow&wiz_referring_url=&wiz_collection_key=&wiz_collectionID=&wiz_collection=&wiz_collection_related_field=&wiz_view=&wiz_action=sysverb_new&sys_id=ea7d96126f92a100f3ae60526e3ee4e0&sysparm_query=active=true&sysparm_target=&sys_target=change_ddfdff>Standard (from Template)
</a>
::after
</div>
....
如何识别并单击此特定文本链接?我尝试过css选择器,xpath等但是没有工作
anchors = dd.findElements(By.linkText(Standard (from Template)));
anchors2 = dd.findElements(By.cssSelector(a[href*='ea7d96126f92a100f3ae60526e3ee4e0'] )));
此外,还有10个具有相同类名的div部分,每个部分都是文本链接。我想点击它们(见上文)
答案 0 :(得分:3)
当您尝试在iframe中搜索元素时,您必须先切换到该帧
driver.SwitchTo().Frame(driver.FindElement(By.Id("_the_frame_id")))
答案 1 :(得分:0)
切换到框架解决了我的问题。但是在下一页中我也有相同的freme(id / name),即使我已经切换到框架,我也无法识别输入文本框。
我得到了NoSuchElementException&#39;当:
driver.switchTo().frame(driver.findElement(By.id("gsft_main")));
WebElement stdFromTemplate = driver.findElement(By.linkText("Standard (from Template)"));
stdFromTemplate.click();
WebElement stTemplate = driver.findElement(By.id("cced8819db987e08dee9f7b31d961989_text"));
这最后一行(现在是点击我在初始问题中提到的链接后的新页面)行给了我'NoSuchElementFoundException&#39;