powershell не понимает трассировку как часть текста ex. Действия имя-данные $ _. - PullRequest
0 голосов
/ 01 июля 2019

Я пытаюсь автоматизировать клик в Internet Explorer, однако имя в строке документа имеет тире.

Как заставить PowerShell понять, что тире не является выражением?

Я пыталсяэто, но powershell не понимает черточки:

$export = $ie.Document.getElementsByTagName('a') | where-object {$_.data-action-name -eq 'Csv'}
$export.click()

Мне нужно щелкнуть там, где появляется слово Csv:

<div class="action_group_contents">
   <a class="grid_async_export" data-ats-id="export-list-csv" data-action-name="Csv">CSV</a>
   <a class="grid_async_export" data-ats-id="export-list-xlsx" data-action-name="Xlsx">XLSX</a>
</div>

Спасибо за вашу помощь!

1 Ответ

1 голос
/ 01 июля 2019

Если у вас есть имя свойства со специальными символами, вы можете просто заключить имя свойства в кавычки.

$_.'data-action-name'

Примеры с одинарными и двойными кавычками:

> $obj = [pscustomobject]@{'data-with-dash' = "data"; 'data@with@at' = "data2"}
> $obj

data-with-dash data@with@at
-------------- ------------
data           data2

> $obj.'data-with-dash'
data
> $obj."data@with@at"
data2
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...