首页 > 解决方案 > 从选定的链接或按钮获取文本

问题描述

我正在导航说一个谷歌页面并发送六次 Tab 键之类的击键,我需要获取突出显示的链接或按钮或任何控件的文本,在这种情况下将是隐私链接

    [Test]
    public void GooglePageTabNavigation()
    {
        Go.To<GooglePage>().
            Wait(2).
            Press(Keys.Tab).
            Wait(1).
            Press(Keys.Tab).
            Wait(1).
            Press(Keys.Tab).
            Wait(1).
            Press(Keys.Tab).
            Wait(1).
            Press(Keys.Tab).
            Wait(1).
            Press(Keys.Tab).
            .....
            //code to get text
            .....
     }

标签: c#atata

解决方案


您可以定义以下扩展方法:

public static class IPageObjectExtensions
{
    public static Control<TOwner> GetActiveControl<TOwner>(this IPageObject<TOwner> pageObject)
        where TOwner : PageObject<TOwner>
    {
        return pageObject.Controls.Create<Control<TOwner>>(
            "<Active>",
            new DynamicScopeLocator(so => AtataContext.Current.Driver.SwitchTo().ActiveElement()));
    }
}

然后使用这个方法:

Go.To<GooglePage>().
    //...
    GetActiveControl().Content.Should.Equal("Privacy");

推荐阅读