Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/271.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Atata-无法从表行中找到元素_C#_Atata - Fatal编程技术网

C# Atata-无法从表行中找到元素

C# Atata-无法从表行中找到元素,c#,atata,C#,Atata,目前,我正在努力从表行中查找元素: 我正试图通过以下方式找到它: detailPage.Users.Rows[x=>x.Project==“Unassigned”].Project.Should.Equal(“Unassigned”) 我收到这个错误: Atata.AssertionException:“无效的”用户“表的”项目== “未分配”行的“项目”元素内容。 预期:应等于“未分配” 实际值:空 This is the full table HTML: <table class=

目前,我正在努力从表行中查找元素:

我正试图通过以下方式找到它:

detailPage.Users.Rows[x=>x.Project==“Unassigned”].Project.Should.Equal(“Unassigned”)

我收到这个错误:

Atata.AssertionException:“无效的”用户“表的”项目== “未分配”行的“项目”元素内容。 预期:应等于“未分配” 实际值:空

This is the full table HTML:

<table class="table table-bordered table-hover table-responsive" id="js-fixed-table">
                <thead class="header-static" style="opacity: 1;">
                    <tr>
                        <th class="text-center vertical-align-middle column-fixed" rowspan="2" style="left: 0px; background: none;">Name</th>
                        <th class="text-center vertical-align-middle" rowspan="2">E-mail</th>
                        <th class="text-center vertical-align-middle" rowspan="2">Start date</th>
                                                    <th class="text-center vertical-align-middle" rowspan="2">Location</th>
                        <th class="text-center vertical-align-middle" rowspan="2">City</th>
                        <th class="text-center vertical-align-middle" rowspan="2">Company</th>
                        <th class="text-center vertical-align-middle" rowspan="2">Work Category</th>
                        <th class="text-center vertical-align-middle" rowspan="2">Position</th>
                        <th class="text-center vertical-align-middle" rowspan="2">Expertise Level</th>
                                                    <th class="text-center vertical-align-middle" rowspan="2">Client</th>
                        <th class="text-center vertical-align-middle" rowspan="2">Project</th>

                        <th class="text-center vertical-align-middle" rowspan="2">Project work (paid)</th>
                        <th class="text-center vertical-align-middle" rowspan="2">Project work (unpaid)</th>
                        <th class="text-center vertical-align-middle" rowspan="2">Overtime</th>
                        <th class="text-center vertical-align-middle" rowspan="2">Holiday Hours</th>
                        <th class="text-center vertical-align-middle" rowspan="2">Paid time off</th>
                        <th class="text-center vertical-align-middle" rowspan="2">Unpaid time off</th>
                        <th class="text-center vertical-align-middle" rowspan="2">Sick leave</th>
                        <th class="text-center vertical-align-middle" rowspan="2">Business trip</th>
                        <th class="text-center vertical-align-middle" rowspan="2">Special time off</th>
                        <th class="text-center vertical-align-middle" rowspan="2">Paid time off (paid by client)</th>
                        <th class="text-center vertical-align-middle" rowspan="2">Total</th>
                        <th class="text-center vertical-align-middle" rowspan="2">Official Company Working Hours</th>
                        <th class="text-center vertical-align-middle" rowspan="2">Available Hours</th>
                        <th class="text-center vertical-align-middle" rowspan="2">Availability</th>
                        <th class="text-center vertical-align-middle" rowspan="2">Billable Hours</th>
                        <th class="text-center vertical-align-middle" rowspan="2">Billability</th>
                        <th class="text-center vertical-align-middle" rowspan="2">Rate (original currency)</th>
                        <th class="text-center vertical-align-middle" rowspan="2">Currency</th>
                        <th class="text-center vertical-align-middle" rowspan="2">Exchange Rate</th>
                        <th class="text-center vertical-align-middle" rowspan="2">Revenue (BGN)</th>
                        <th class="text-center vertical-align-middle" rowspan="2">Revenue Total (BGN)</th>
                        <th class="text-center vertical-align-middle" rowspan="2">Weighted AR (BGN)</th>
                        <th class="text-center vertical-align-middle" rowspan="2">Net Salary (BGN)</th>
                        <th class="text-center vertical-align-middle" rowspan="2">Total Employee Cost (BGN)</th>
                        <th class="text-center vertical-align-middle" rowspan="2">Additional Remuneration (BGN)</th>
                        <th class="text-center vertical-align-middle" rowspan="2">Direct Project Cost (BGN)</th>
                        <th class="text-center vertical-align-middle" rowspan="2">Direct Cost (BGN)</th>

                        <th class="text-center vertical-align-middle" rowspan="2">Gross Margin (BGN)</th>
                        <th class="text-center vertical-align-middle" rowspan="2">Gross Margin Percent (BGN)</th>
                    </tr>
                </thead>
                <tbody><tr style="color:" title="" class="missing-rate-row">
                    <td data-toggle="modal" data-target="#user-details-modal" data-id="160" class="vertical-align-middle cursor-pointer column-fixed" rowspan="2" style="left: 0px; background: none;">
                        Ivan Garlanov
                    </td>
                                            <td class="vertical-align-middle" rowspan="2">kjfwoi231@yahoo.com</td>
                    <td class="vertical-align-middle" rowspan="2">2016-07-07</td>
                                            <td class="vertical-align-middle" rowspan="2">Nikola Tesla</td>
                    <td class="vertical-align-middle" rowspan="2">Nis</td>

                    <td class="vertical-align-middle" rowspan="2">OneStar</td>
                    <td class="vertical-align-middle" rowspan="2">Direct</td>
                    <td class="vertical-align-middle" rowspan="2">Admin Operations</td>
                    <td class="vertical-align-middle" rowspan="2">Architect</td>

                    <td class="vertical-align-middle">PrismaSoft</td>
                    <td class="vertical-align-middle">BioFruit</td>

                    <td class="vertical-align-middle text-right">8.00</td>
                    <td class="vertical-align-middle text-right">8.00</td>
                    <td class="vertical-align-middle text-right">0</td>
                    <td class="vertical-align-middle text-right">0</td>
                        <td class=" vertical-align-middle text-right">
                            8
                        </td>
                        <td class=" vertical-align-middle text-right">
                            0
                        </td>
                        <td class=" vertical-align-middle text-right">
                            0
                        </td>
                        <td class=" vertical-align-middle text-right">
                            0
                        </td>
                        <td class=" vertical-align-middle text-right">
                            0
                        </td>
                    <td class="vertical-align-middle text-right">

                        8
                    </td>
                    <td class="vertical-align-middle text-right" rowspan="2">32.00</td>
                    <td class="vertical-align-middle text-right" rowspan="2">176</td>
                    <td class="vertical-align-middle text-right" rowspan="2">24.00</td>
                    <td class="vertical-align-middle text-right" rowspan="2">0.14</td>
                    <td class="vertical-align-middle text-right" rowspan="2">16.00</td>
                    <td class="vertical-align-middle text-right" rowspan="2">66.67%</td>
                    <td class="vertical-align-middle text-right">112.56</td>
                    <td class="vertical-align-middle">EUR</td>
                    <td class="vertical-align-middle text-right">1.95583</td>
                    <td class="vertical-align-middle text-right">3522.23</td>
                    <td class="vertical-align-middle text-right" rowspan="2">3522.23</td>
                    <td class="vertical-align-middle text-right" rowspan="2">220.14</td>
                    <td class="vertical-align-middle text-right" rowspan="2">1600.00</td>
                    <td class="vertical-align-middle text-right" rowspan="2">2057.89</td>
                    <td class="vertical-align-middle text-right" rowspan="2">200.00</td>
                    <td class="vertical-align-middle text-right">1693.42</td>
                    <td class="vertical-align-middle text-right" rowspan="2">2257.89</td>
                    <td class="vertical-align-middle text-right" rowspan="2">1264.34</td>
                    <td class="vertical-align-middle text-right" rowspan="2">0.36</td>
                </tr>
                <tr style="color:" title="" class="missing-rate-row">
                                            <td class="vertical-align-middle">Unassigned</td>
                    <td class="vertical-align-middle">Unassigned</td>

                    <td class=" vertical-align-middle text-right">
                        0
                    </td>
                    <td class=" vertical-align-middle text-right">
                        0
                    </td>
                    <td class="vertical-align-middle text-right">
                        0
                    </td>
                    <td class="vertical-align-middle text-right">
                        0
                    </td>
                        <td class=" vertical-align-middle text-right">
                            0
                        </td>
                        <td class=" vertical-align-middle text-right">
                            8
                        </td>
                        <td class=" vertical-align-middle text-right">
                            0
                        </td>
                        <td class=" vertical-align-middle text-right">
                            0
                        </td>
                        <td class=" vertical-align-middle text-right">
                            0
                        </td>
                    <td class="vertical-align-middle text-right">

                        0
                    </td>
                                            <td class="vertical-align-middle text-right">
                        0.00
                    </td>
                    <td class="vertical-align-middle">
                        BGN
                    </td>
                    <td class="vertical-align-middle text-right">
                        1.00000
                    </td>
                    <td class="vertical-align-middle text-right">

                    </td>
                    <td class="vertical-align-middle text-right">
                        564.47
                    </td>
                </tr>
                <tr style="color:" title="" class="missing-rate-row">
                    <td class="vertical-align-middle column-fixed" rowspan="1" style="left: 0px; background: none;">
                        Total
                    </td>
                                            <td class="vertical-align-middle" rowspan="1"></td>
                    <td class="vertical-align-middle" rowspan="1"></td>
                                            <td class="vertical-align-middle" rowspan="1"></td>
                    <td class="vertical-align-middle" rowspan="1"></td>

                    <td class="vertical-align-middle" rowspan="1"></td>
                    <td class="vertical-align-middle" rowspan="1"></td>
                    <td class="vertical-align-middle" rowspan="1"></td>
                    <td class="vertical-align-middle" rowspan="1"></td>

                    <td class="vertical-align-middle"></td>
                    <td class="vertical-align-middle"></td>

                    <td class="vertical-align-middle text-right">8.00</td>
                    <td class="vertical-align-middle text-right">8.00</td>
                    <td class="vertical-align-middle text-right">0</td>
                    <td class="vertical-align-middle text-right">0</td>
                        <td class=" vertical-align-middle text-right">
                            8
                        </td>
                        <td class=" vertical-align-middle text-right">
                            8
                        </td>
                        <td class=" vertical-align-middle text-right">
                            0
                        </td>
                        <td class=" vertical-align-middle text-right">
                            0
                        </td>
                        <td class=" vertical-align-middle text-right">
                            0
                        </td>
                    <td class="vertical-align-middle text-right">

                        8
                    </td>
                    <td class="vertical-align-middle text-right" rowspan="1">32.00</td>
                    <td class="vertical-align-middle text-right" rowspan="1">176</td>
                    <td class="vertical-align-middle text-right" rowspan="1">24.00</td>
                    <td class="vertical-align-middle text-right" rowspan="1">0.14</td>
                    <td class="vertical-align-middle text-right" rowspan="1">16.00</td>
                    <td class="vertical-align-middle text-right" rowspan="1">66.67%</td>
                    <td class="vertical-align-middle text-right"></td>
                    <td class="vertical-align-middle"></td>
                    <td class="vertical-align-middle text-right"></td>
                    <td class="vertical-align-middle text-right"></td>
                    <td class="vertical-align-middle text-right" rowspan="1">3522.23</td>
                    <td class="vertical-align-middle text-right" rowspan="1">220.14</td>
                    <td class="vertical-align-middle text-right" rowspan="1">1600.00</td>
                    <td class="vertical-align-middle text-right" rowspan="1">2057.89</td>
                    <td class="vertical-align-middle text-right" rowspan="1">200.00</td>
                    <td class="vertical-align-middle text-right">2257.89</td>
                    <td class="vertical-align-middle text-right" rowspan="1">2257.89</td>
                    <td class="vertical-align-middle text-right" rowspan="1">1264.34</td>
                    <td class="vertical-align-middle text-right" rowspan="1">0.36</td>
                </tr>
            </tbody></table>
这是完整的HTML表格:
名称
电子邮件
开始日期
位置
城市
单位
工作类别
位置
专业水平
客户
项目
项目工作(有偿)
项目工作(无报酬)
加班
假日时间
带薪休假
无薪休假
病假
出差
特殊休息时间
带薪休假(由客户支付)
全部的
公司正式工作时间
可用时间
可利用性
计费小时数
计费性
汇率(原货币)
通货
汇率
收入(BGN)
总收入(BGN)
加权应收账款(BGN)
净工资(BGN)
员工总成本(BGN)
额外报酬(BGN)
直接项目成本(BGN)
直接成本(BGN)
毛利率(BGN)
毛利率百分比(BGN)
伊万·加拉诺夫
kjfwoi231@yahoo.com
2016-07-07
尼古拉·特斯拉
尼斯
一星
直接的
管理操作
建筑师
PrismaSoft
生物果实
8
8
0
0
8.
0
0
0
0
8.
32
176
24
0.14
16
66.67%
112.56
欧元
1.95583
3522.23
3522.23
220.14
1600
2057.89
200
1693.42
2257.89
1264.34
0.36
未分配
未分配
0
0
0
0
0
8.
0
0
0
0
0
BGN
1
564.47
全部的
8
8
0
0
8.
8.
0
0
0
8.
32
176
24
0.14
16
using Atata;

namespace AtataSamples.TableWithRowSpannedCells
{
    using _ = TableUsingXPathPage;

    [Url("table-with-row-spanned-cells")]
    public class TableUsingXPathPage : Page<_>
    {
        public Table<UserRow, _> Users { get; private set; }

        public class UserRow : TableRow<_>
        {
            [FindByXPath(XPathTo.RowSpannedCell, Index = 0)]
            public Text<_> Name { get; private set; }

            [FindByXPath(XPathTo.RowSpannedCell, Index = 2)]
            [Format("yyyy-MM-dd")]
            public Date<_> StartDate { get; private set; }

            [FindByXPath(XPathTo.RowSpannedCell, Index = 8)]
            public Text<_> ExpertiseLevel { get; private set; }

            [FindByXPath(XPathTo.NonRowSpannedCell, Index = 0)]
            public Text<_> Client { get; private set; }

            [FindByXPath(XPathTo.NonRowSpannedCell, Index = 1)]
            public Text<_> Project { get; private set; }

            [FindByXPath(XPathTo.NonRowSpannedCell, Index = 16)]
            public Number<_> DirectProjectCost { get; private set; }

            [FindByXPath(XPathTo.RowSpannedCell, Index = 22)]
            public Number<_> GrossMarginPercent { get; private set; }

            private static class XPathTo
            {
                public const string RowSpannedCell = "(self::*[td[@rowspan]] | preceding-sibling::tr[td[@rowspan]])[last()]/td[@rowspan]";

                public const string NonRowSpannedCell = "td[not(@rowspan)]";
            }
        }
    }
}