파워쉘

[파워쉘] 특정 태그 밑에 새로운 노드 추가하기

서똥 2013. 3. 18. 17:59


테스트로 <head> 태그 밑에  <meta>태그를 추가하는 스크립트를 만들어보았다.


특이한 점은 아래와 같은 부분이다.

$meta | %{$_.name='user-agent'}

$meta | %{$_.content='User-Agent:Mozilla/5.0 (iPhone; CPU iPhone OS 6_0 like Mac OS X) 


처음에 member들을 조회해 보았을 때 name이나 content가 없었으나 그냥 이렇게 해 보았더니 자동으로 추가가 되었다. 물론 오류 없이 말이다.


나중에 <head>를 찍어보니 제대로 제일 마지막에 <meta>가 추가되어 있었다.


$head = $ie.Document.getElementsByTagName('head')

#아래 코드는 계속 오류가 난다.

#파워쉘에서는 innerHTML에 직접 추가는 못 하는가 보다.

#$head | %{ $headHTML = '<meta name="user-agent" content="User-Agent:Mozilla/5.0 (iPhone; CPU iPhone OS 6_0 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/6.0 Mobile/10A5376e Safari/8536.25">' + $_.innerHTML; $_.innerHTML = $headHTML; $_.innerHTML }

#

# 아래와 같은 방식으로 <head> 태그 밑에 <meta 태그를 추가할 수 있었다.

#

$meta = $ie.Document.createElement('meta')

$meta | %{$_.name='user-agent'}

$meta | %{$_.content='User-Agent:Mozilla/5.0 (iPhone; CPU iPhone OS 6_0 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/6.0 Mobile/10A5376e Safari/8536.25'}

$head | %{$_.appendChild($meta)}