【问题标题】:How to click link icon with laravel dusk?如何单击带有 laravel 黄昏的链接图标?
【发布时间】:2017-07-17 04:23:26
【问题描述】:

如果我有链接:

<a href="/somewhere">Click Me</a>

我知道我可以根据它的文字clickLink

public function testCanClickLink()
{
    $this->browse(function ($browser) {
        $browser->visit('/welcome')
                ->clickLink('Click Me');
    });
}

但是我怎样才能点击一个图标链接呢?

<a href="/somewhere">
    <i class="fa fa-plus" aria-hidden="true"></i>
</a>

【问题讨论】:

    标签: php laravel laravel-dusk


    【解决方案1】:

    你可以像这样定位href:

    -&gt;click('a[href="/somewhere"]')

    【讨论】:

      【解决方案2】:

      这有点老套,但这是我想出的解决方法。

      1. 在链接上放置一个 id 选择器。

        <a id="link-click-me" href="/somewhere">
            <i class="fa fa-plus" aria-hidden="true"></i>
        </a>
        
      2. 断言它是可见的。

      3. 获取 href 属性。
      4. 访问它。
      5. 断言路径正确。

        public function testCanClickLink()
        {
            $this->browse(function ($browser) {
                $browser->visit('/welcome')
                        ->assertVisible('#link-click-me')
                        ->visit(
                            $browser->attribute('#link-click-me', 'href')
                        )
                        ->assertPathIs('/somewhere');
            });
        }
        

      【讨论】:

      • 这不会执行点击操作,随后会导致重定向。因此,如果页面上运行了一些损坏的javascript,这会阻止用户点击重定向,这种方法不会让我们头疼。
      猜你喜欢
      • 2023-04-01
      • 2018-02-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-08-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多