gpt4 book ai didi

c# - 无法使用 C# webdriver 单击属于 IFrame 的按钮

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

我为我的 Visual Studio 2010 配置了 c# webdriver。我想点击 Iframe 中的“安装”按钮。我正在编写 C# 代码以单击此 IFrame 中的安装按钮。

这是 HTML 代码...

<html>
<head></head>
<body>
<"pt1:pt2:mvtiframe" class="gradbg af_inlineFrame p_AFFlow" frameborder="0" onload="AdfDhtmlInlineFramePeer.__iframeLoadHandler(event)" src="some url" style="width:700px; height:360px" _adfloaded="1">
<html>
<tr>
<td style="text-align: left; height: 35px" colspan="3">
<table cellspacing="0" cellpadding="0" border="0">
<tbody>
<tr>
<td>
<p>
<a class="imageButton" onclick="OnNextButtonClick()" target="_blank" href="http://google.com/abc.asp">
<span>Install</span>
</a>
</p>
</td>
</tr>
</html>
</iframe>
</body>
</html>

我正在尝试使用以下代码点击“安装”按钮。但不起作用。它说找不到元素。

FirefoxDriver driver = new FirefoxDriver();
driver.SwitchTo().Frame(0);
driver.FindElement(By.Name("Install")).Click();

尝试使用 Xpath,但我没有得到作为 IFrame 一部分的 Xpath for Install 按钮。

最佳答案

这里的问题是元素的“名称”不是“安装”安装是按钮的文本。

我会像这样尝试一些 Xpath:"//a[@class='imageButton']"

driver.FindElement(By.Xpath("//a[@class='imageButton']")).Click();

如果那是您的页面源代码,您应该能够找到使用该类的元素。这一切都假设您的 SwitchTo().Frame 按预期工作。

此外,如果可能的话,我真的建议在该 iFrame 上放置一个名称或 ID,而不是使用索引。如果页面发生变化,从长远来看,它会更可靠。

关于c# - 无法使用 C# webdriver 单击属于 IFrame 的按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14236674/

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