编写一个点击日期的测试

Write a test that clicks on a date

我的注册视图:

<div class="datepicker-days" style="display: block;">

<table class=" table-condensed">
    <thead>
        <tr></tr>
        <tr></tr>
    </thead>
    <tbody>
        <tr>
            <td class="old disabled day"></td>
            <td class="old disabled day"></td>
            <td class="old disabled day"></td>
            <td class="disabled day"></td>
            <td class="day">
                2
            </td>

我写了这个测试:

$I->click(['class' => 'day'],'2');

并收到此错误:

Couldn't click {"class":"day"},"2": InvalidSelectorException: The given selector 2 is either invalid or does not result in a WebElement.

我建议使用这样的选择器

"(//td[contains(@class,'day') and not(contains(@class,'disabled'))])[1]"

此选择器使用 XPath - 它匹配任何 td 元素,该元素在其 class 属性中包含 'day' 字符串但不包含任何 'disabled' 字符串。

当多个元素匹配选择器时,最后[1]的数字是元素被选中的顺序。从 1(不是零)开始。