如何对锚标记中存在的元素执行单击事件?

发布于 2024-12-14 15:04:41 字数 703 浏览 0 评论 0原文

<div class="buttonClear_bottomRight">
    <div class="buttonBlueOnWhite">
        <a onclick="$find('{0}').close(true); callPostBackFromAlert();" href="#">Ok</a><div
            class='rightImg'>
        </div>
    </div>
</div>

在上面的代码中,我想单击锚标记中的“确定”按钮。但是没有生成 id,因此我无法直接执行单击操作。我尝试了下面提到的解决方法。

IElementContainer elm_container = (IElementContainer)pw.Element(Find.ByClass(classname));
foreach (Element element in elm_container.Elements)
{
  if (element.TagName.ToString().ToUpper() == "A")
  {
    element.Click();
  }
}

但这里 elm_container 对于初始实例返回 null,因此我们无法遍历它。还有其他简单的方法可以做到吗?

<div class="buttonClear_bottomRight">
    <div class="buttonBlueOnWhite">
        <a onclick="$find('{0}').close(true); callPostBackFromAlert();" href="#">Ok</a><div
            class='rightImg'>
        </div>
    </div>
</div>

In the above code i wanted to click on Ok button present in the anchor tag.But an id is not generated because of which i cannot directly perform a click action. I tried a work around mentioned below.

IElementContainer elm_container = (IElementContainer)pw.Element(Find.ByClass(classname));
foreach (Element element in elm_container.Elements)
{
  if (element.TagName.ToString().ToUpper() == "A")
  {
    element.Click();
  }
}

But here elm_container returns null for intial instances due to which we cannot traverse through it. Is there any other easy method to do it ?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

裸钻 2024-12-21 15:04:42

试试这个...

Div div = browser.Div(Find.ByClass("buttonClear_bottomRight")).Div(Find.ByClass("buttonBlueOnWhite"));
Debug.Assert(div.Exists);
Link link = div.Link(lnk => lnk.GetAttributeValue("onclick").ToLower().Contains(".close(true)"));
Debug.Assert(link.Exists);
link.Click();

希望有帮助!

Try this...

Div div = browser.Div(Find.ByClass("buttonClear_bottomRight")).Div(Find.ByClass("buttonBlueOnWhite"));
Debug.Assert(div.Exists);
Link link = div.Link(lnk => lnk.GetAttributeValue("onclick").ToLower().Contains(".close(true)"));
Debug.Assert(link.Exists);
link.Click();

Hope it helps!

风渺 2024-12-21 15:04:42

您可以简单地通过查找其文本来单击链接

var OkButton = Browser.Link(Find.ByText("Ok"));

    if(!OkButton.Exists)
    {
    \\Log error here
    }
    OkButton.Click();
    Browser.WaitForCompplete();

,或者您可以找到包含链接的 div,例如,

var ContainerDiv = Browser.Div(Find.ByClass("buttonBlueOnWhite"));
if(!ContainerDiv.Exists)
{
 \\Log error here
}

ContainerDiv.Links.First().Click();
Browser.WaitForComplete();

You can simply Click on the link by finding its text

var OkButton = Browser.Link(Find.ByText("Ok"));

    if(!OkButton.Exists)
    {
    \\Log error here
    }
    OkButton.Click();
    Browser.WaitForCompplete();

Or you can find the div containing the link like,

var ContainerDiv = Browser.Div(Find.ByClass("buttonBlueOnWhite"));
if(!ContainerDiv.Exists)
{
 \\Log error here
}

ContainerDiv.Links.First().Click();
Browser.WaitForComplete();
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文