鋼鉄の咆哮 早く新作だして。・゚・(ノД`)・゚・。
×
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
JQuery で生成されたHTMLから対象をクリックするには(タグから)
で、
Local $oNames = _IETagNameGetCollection($oIE, "span")
で、JQueryで生成されたHTMLのからLIタグがコレクションできなかったので、 べたなHTMLでは「LIをコレクションできるよね?」をちょっとだけ調べてみた。
これで調べる。
で、
Local $oNames = _IETagNameGetCollection($oIE, "span")
で、JQueryで生成されたHTMLのからLIタグがコレクションできなかったので、 べたなHTMLでは「LIをコレクションできるよね?」をちょっとだけ調べてみた。
これで調べる。
Local $oNames = _IETagNameGetCollection($oIE, "li")
for $oName IN $oNames
ConsoleWrite($oName.tagname & " / " & $oName.innerText & @CRLF)
Next
PR
JQueryで生成されたHTMLから対象を見つけ出してクリックする方法、タグから編。
-----
#include
$oIE = _IECreate($uri)
_IELoadWait($oIE)
;span タグでコレクションする。
Local $oNames = _IETagNameGetCollection($oIE, "span")
Local $oName
;$oName.innerText と対象が一致したらクリックする。
for $oName IN $oNames
If StringInStr($oName.innerText, $terget) <> 0 Then _IEAction($oName, "click")
Next
-----
ただし、
Local $oNames = _IETagNameGetCollection($oIE, "span")
でコレクションできないとだめ。
-----
#include
$oIE = _IECreate($uri)
_IELoadWait($oIE)
;span タグでコレクションする。
Local $oNames = _IETagNameGetCollection($oIE, "span")
Local $oName
;$oName.innerText と対象が一致したらクリックする。
for $oName IN $oNames
If StringInStr($oName.innerText, $terget) <> 0 Then _IEAction($oName, "click")
Next
-----
ただし、
Local $oNames = _IETagNameGetCollection($oIE, "span")
でコレクションできないとだめ。
よくある、ツェラーの公式を使って月初日の曜日を求める方法メモ。
-----
Opt('MustDeclareVars', 1)
Opt("WinTitleMatchMode", 4)
Func main()
Local $lastDay[12] = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
Local $day = @MDAY, $start, $i
If GetLeapYear(@YEAR) == 1 Then $lastDay[1] = 29
;月頭の曜日を求める
$start = GetMonthlyDayOfTheWeek(@YEAR, @MON, 1)
EndFunc
Func GetMonthlyDayOfTheWeek($year, $mon, $day)
Local $r
If $mon < 3 Then
$mon += 12
$year -= 1
EndIf
$r = mod(($year +Int($year / 4) - Int($year / 100) + Int($year / 400) + Int((13 * $mon + 8) / 5) + $day), 7)
Return $r
EndFunc
;閏年を求める関数
Func GetLeapYear($year)
Local $r
If ((mod($year, 4) == 0) And (mod($year, 100) <> 0)) Or (mod($year, 400) == 0) Then $r = 1
Return $r
EndFunc
-----
年月日をマクロ@YEAR、@MON、@MDAY
余 は AutoIt のオペレータには % がないので mod(value1, value2)関数を利用する。
除算の際はInt( expression [, flag ] )関数を使いましょう。
-----
Opt('MustDeclareVars', 1)
Opt("WinTitleMatchMode", 4)
Func main()
Local $lastDay[12] = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
Local $day = @MDAY, $start, $i
If GetLeapYear(@YEAR) == 1 Then $lastDay[1] = 29
;月頭の曜日を求める
$start = GetMonthlyDayOfTheWeek(@YEAR, @MON, 1)
EndFunc
Func GetMonthlyDayOfTheWeek($year, $mon, $day)
Local $r
If $mon < 3 Then
$mon += 12
$year -= 1
EndIf
$r = mod(($year +Int($year / 4) - Int($year / 100) + Int($year / 400) + Int((13 * $mon + 8) / 5) + $day), 7)
Return $r
EndFunc
;閏年を求める関数
Func GetLeapYear($year)
Local $r
If ((mod($year, 4) == 0) And (mod($year, 100) <> 0)) Or (mod($year, 400) == 0) Then $r = 1
Return $r
EndFunc
-----
年月日をマクロ@YEAR、@MON、@MDAY
余 は AutoIt のオペレータには % がないので mod(value1, value2)関数を利用する。
除算の際はInt( expression [, flag ] )関数を使いましょう。
見事に3年ぶり 2回目のAutoItネタw
AutoIt で DLL を動的にコールする方法と呼ばれる側の DLL 作り方メモ。
AutoIt で動的に DLL をコールするなら DllCall 関数を利用する。
$result = DllCall("dll", "return type", "function", type1, param1, [type2, param2])
AutoItで取得したスナップショットのパスをDLLに渡して形状比較の結果を戻り値を Double型 で受け取る例
-----
main()
func main()
local $result, $dll ="matching.dll",$matchtype = "ContoursMatching"
local $srcPath = "比較元のスナップショットのパス"、$cmpPath = "比較対象のスナップショットのぱす"
$result = DllCall($dll, "double", $matchtype, "str", $srcPath, "str", $cmpPath)
MsgBox(0, "Match score", $result)
endFunc
-----
説明
"return type" で、戻り値の型(double) を記述
type1、type2 は DLL に渡す型として ”str" を記述
param1、param2 は DLL に渡す値(パス)を記述
AutoIt はこれだけです。
AutoIt で DLL を動的にコールする方法と呼ばれる側の DLL 作り方メモ。
AutoIt で動的に DLL をコールするなら DllCall 関数を利用する。
$result = DllCall("dll", "return type", "function", type1, param1, [type2, param2])
AutoItで取得したスナップショットのパスをDLLに渡して形状比較の結果を戻り値を Double型 で受け取る例
-----
main()
func main()
local $result, $dll ="matching.dll",$matchtype = "ContoursMatching"
local $srcPath = "比較元のスナップショットのパス"、$cmpPath = "比較対象のスナップショットのぱす"
$result = DllCall($dll, "double", $matchtype, "str", $srcPath, "str", $cmpPath)
MsgBox(0, "Match score", $result)
endFunc
-----
説明
"return type" で、戻り値の型(double) を記述
type1、type2 は DLL に渡す型として ”str" を記述
param1、param2 は DLL に渡す値(パス)を記述
AutoIt はこれだけです。
C/C++等等
char allay[] = {~}
としたら
× allay[2] = 2
char型しか入れられないのが
AutoItだとヘルプを見るに
$allay[0] = 1
$allay[1] = true
$allay[2] = "hoge"
$allay[3] = $bar(他の配列や変数)
なんと一緒くたに格納可能(w。
だたし、型を指定した場合と比べ大幅に処理が遅くなるもより。
で、使うときは Dim つけて配列のメモリを確保すると。
Dim $allay[] = [0, true, "hoge", $bar]
ちなみにこんな場合で戻り値ありなユーザー定義関数なんか呼び出した場合
Func funcHoge($var1, $var2)
$var2 = $var1 * $var2
Dim $res[] = [$Var1, $Var2]
return $res
EndFunc
$result = funcHoge() ;$resultは配列の戻り値を持っている。Dim着けてないけどエラーにならないの不思議。
MsgBox(0, "title", $result) ;$result[0]が表示される。
MsgBox(0, "title", $result[1]) ;$result[1]が表示される。
char allay[] = {~}
としたら
× allay[2] = 2
char型しか入れられないのが
AutoItだとヘルプを見るに
$allay[0] = 1
$allay[1] = true
$allay[2] = "hoge"
$allay[3] = $bar(他の配列や変数)
なんと一緒くたに格納可能(w。
だたし、型を指定した場合と比べ大幅に処理が遅くなるもより。
で、使うときは Dim つけて配列のメモリを確保すると。
Dim $allay[] = [0, true, "hoge", $bar]
ちなみにこんな場合で戻り値ありなユーザー定義関数なんか呼び出した場合
Func funcHoge($var1, $var2)
$var2 = $var1 * $var2
Dim $res[] = [$Var1, $Var2]
return $res
EndFunc
$result = funcHoge() ;$resultは配列の戻り値を持っている。Dim着けてないけどエラーにならないの不思議。
MsgBox(0, "title", $result) ;$result[0]が表示される。
MsgBox(0, "title", $result[1]) ;$result[1]が表示される。