gpt4 book ai didi

C# Selenium Webdriver 在 iframe 中查找元素

转载 作者:太空宇宙 更新时间:2023-11-03 21:25:59 25 4
gpt4 key购买 nike

我找不到 iframe。我想切换到此 iframe,然后单击其中的一个元素。

我尝试使用 Id、Xpath、TagName 和 CssSelector 查找 iframe,但我的测试在每次查找元素时都超时。

这是出现在页面源代码中的 iframe:

<div xmlns="http://www.w3.org/1999/xhtml" id="dashboardView" style="display: block;">
<iframe id="dashboardViewFrame" border="0" scrolling="no" frameborder="0"
style="visibility: visible; height: 607px; width: 1280px; background-color: transparent;"
src="HtmlViewer.ashx?Dd_ContentId=6a8a44ae-2bd5-4f3c-8583-e777279ad4f2"></iframe>
</div>

<iframe xmlns="http://www.w3.org/1999/xhtml" id="dashboardViewFrame" border="0" scrolling="no"
frameborder="0" style="visibility: visible; height: 607px; width: 1280px; background-color:
transparent;" src="HtmlViewer.ashx?Dd_ContentId=6a8a44ae-2bd5-4f3c-8583-e777279ad4f2"></iframe>

这是我当前的代码:

    public static bool IsAt
{
get
{
try
{
var dashboardiFrame = Driver.Instance.FindElement(By.Id("dashboardViewFrame"));
//todo switch to iframe
//todo find element within iframe
return true;
}
catch
{
return false;
}
}
}

有人可以建议一种找到 iframe 并切换到它的方法吗?

最佳答案

有时您必须等待大约 5 秒,直到页面完全加载然后找到框架。

试试这个

线程. sleep (50000);IwebElement Frame = Driver.SwitchTo().Frame("框架的id");

//那么 frame 内的任何元素都应该通过这一行获取

Frame.FindElement(By.id("框架内元素的ID");

关于C# Selenium Webdriver 在 iframe 中查找元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27024016/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com