【问题标题】:Not able to check checkbox elements in Laravel Dusk无法检查 Laravel Dusk 中的复选框元素
【发布时间】:2019-12-04 08:16:01
【问题描述】:

我正在尝试使用 Dusk 在 Laravel 6.0 上为我的应用程序做测试用例。我在选择复选框时遇到了一些困难,它没有找到“检查”元素。 根据文档,我使用了 check 方法并用 id 定义了选择器

我的 ID 是:company-search-type-Investor,我的代码是:

$browser->scrollToElement('#company-search-type-Investor')
    ->assertNotChecked('#company-search-type-Investor')
    ->check('#company-search-type-Investor')
    ->pause(1000)

奇怪的是,我使用 ->assertNotChecked('#company-search-type-Investor') 的测试通过但 ->check('#company-search-type-Investor') 给出了错误:

Facebook\WebDriver\Exception\UnrecognizedExceptionException:元素点击被拦截:元素 <input data-v-c1e51704="" id="company-search-type-Investor" type="checkbox"> 在点 (192, 497) 不可点击。其他元素会收到点击:<label data-v-c1e51704="" class="kt-checkbox" style="margin-bottom: 6px; font-size: 1.1rem;">...</label>

欢迎提出任何建议。谢谢。

【问题讨论】:

  • 其他一些元素遮住了复选框。您是否启用了某种插件?当我在网站上启用调试栏时,这通常会发生在我身上。

标签: laravel laravel-dusk laravel-dusk2


【解决方案1】:

这可能是因为应用了 CSS 将复选框移动到标签后面。勾选复选框有两种方式。

  1. 您可以拨打标签上的click

    $browser->click("label[data-v-c1e51704='']");
    
  2. 您可以在复选框上拨打sendKeys

    $browser->element("#company-search-type-Investor")->sendKeys(WebDriverKeys::SPACE)
    

【讨论】:

    猜你喜欢
    • 2018-07-12
    • 1970-01-01
    • 2020-11-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多