我能够获得第2帧但无法获得该帧内的<p>
标记尝试使用xpath投掷无法找到元素
我的代码:
driver.switchTo().frame("firstframe");
driver.switchTo().frame(driver.findElelemt(By.cssSelector());
driver.findElement(By.xpath("html/body/p")).sendKey("test");
HTML:
<iframe id="firstframe">
<table>
<tr>
<td>
<div id="frdive">
<div id="sndiv">
<iframe class="test" title="test">
<html style="overflow-y: hidden;">
<head></head>
<body>
<p></p>
</body>
</html >
</iframe>
</div>
</div>
</td>
</tr>
</table>
</iframe>
答案 0 :(得分:0)
进入第一帧后,尝试使用以下xpath进行切换。
"//iframe[@title='test']"
希望这会有所帮助。感谢。
答案 1 :(得分:0)
试试这个:
driver.switchTo().frame("firstframe");
driver.switchTo().frame(driver.findElement(By.xpath(".//iframe[@title='test']"));
driver.findElement(By.xpath("html/body/p"));
您可以按ID,按名称或按WebElement更改为框架。
答案 2 :(得分:0)
尝试使用webdriver等,如下所示。它可能适合你。
driver.switchTo().frame("firstframe");
WebDriverWait wait = new WebDriverWait(driver, 30);
wait.until(ExpectedConditions.frameToBeAvailableAndSwitchToIt(By.xpath(".//iframe[@title='test']"));
driver.findElement(By.xpath("html/body/p")).sendKey("test");