Selenium VBA XPath содержит текст - PullRequest
0 голосов
/ 18 октября 2018

Я работаю над селеном VBA макрос.Я хочу получить элемент td, содержащий "18", с помощью Xpath.

Ниже приводится мой HTML.

<table class="text-center"><thead><tr><td class="text-muted" style="padding: 5px;"><small>Sun</small></td><td class="text-muted" style="padding: 5px;"><small>Mon</small></td><td class="text-muted" style="padding: 5px;"><small>Tue</small></td><td class="text-muted" style="padding: 5px;"><small>Wed</small></td><td class="text-muted" style="padding: 5px;"><small>Thu</small></td><td class="text-muted" style="padding: 5px;"><small>Fri</small></td><td class="text-muted" style="padding: 5px;"><small>Sat</small></td></tr></thead><tbody><tr><td></td><td></td><td></td><td></td><td></td><td style="cursor: pointer; padding: 5px;">1</td><td style="cursor: pointer; padding: 5px;">2</td></tr><tr><td style="cursor: pointer; padding: 5px;">3</td><td style="cursor: pointer; padding: 5px;">4</td><td style="cursor: pointer; padding: 5px;">5</td><td style="cursor: pointer; padding: 5px;">6</td><td style="cursor: pointer; padding: 5px;">7</td><td style="cursor: pointer; padding: 5px;">8</td><td style="cursor: pointer; padding: 5px;">9</td></tr><tr><td style="cursor: pointer; padding: 5px;">10</td><td style="cursor: pointer; padding: 5px;" class="bg-primary">11</td><td style="cursor: pointer; padding: 5px;">12</td><td style="cursor: pointer; padding: 5px;">13</td><td style="cursor: pointer; padding: 5px;">14</td><td style="cursor: pointer; padding: 5px;">15</td><td style="cursor: pointer; padding: 5px;">16</td></tr><tr><td style="cursor: pointer; padding: 5px;">17</td><td style="cursor: pointer; padding: 5px;">18</td><td style="cursor: pointer; padding: 5px;">19</td><td style="cursor: pointer; padding: 5px;">20</td><td style="cursor: pointer; padding: 5px;">21</td><td style="cursor: pointer; padding: 5px;">22</td><td style="cursor: pointer; padding: 5px;">23</td></tr><tr><td style="cursor: pointer; padding: 5px;">24</td><td style="cursor: pointer; padding: 5px;">25</td><td style="cursor: pointer; padding: 5px;" class="invalid-calendar-date">26</td><td style="cursor: pointer; padding: 5px;" class="invalid-calendar-date">27</td><td style="cursor: pointer; padding: 5px;" class="invalid-calendar-date">28</td><td style="cursor: pointer; padding: 5px;" class="invalid-calendar-date">29</td><td style="cursor: pointer; padding: 5px;" class="invalid-calendar-date">30</td></tr><tr><td style="cursor: pointer; padding: 5px;" class="invalid-calendar-date">31</td><td></td><td></td><td></td><td></td><td></td><td></td></tr></tbody></table>

Я пробовал все как

"//attribute::*[contains(.,'18')]"
"//tr/td[contains(text(),'18')]"
"//td[contains(string(),"18")]"

, но я не могНе извлекайте элемент.

Если я использую селектор CSS, то он работает нормально.Но при изменении даты путь CSS не меняется автоматически.Было бы очень полезно, если бы я мог получить элемент, используя Xpath и значение.

1 Ответ

0 голосов
/ 18 октября 2018

Ниже xpath будет работать:

//td[text()='18' and contains(@style,'')]

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...