저는 AutoHotKey를 배우고 있으며 이를 사용하여 필요한 특정 프로세스를 자동화할 수 있는지 알아보고 있습니다. MS Edge를 사용하여 브라우저 창을 엽니다(작동하게 되면 다른 브라우저를 처리하도록 코딩할 수 있음). 기본적으로 홈 페이지로 설정되고 Ctrl+를 눌러 U탭을 열어 페이지의 HTML을 검사한 다음 을 검색한 MyTech Support Portal
다음 :sptth
( )를 거꾸로 검색 https:
하면 URL을 추출할 수 있습니다. 여러 브라우저 탭을 올바르게 처리하고 있는지 잘 모르겠습니다.
홈 웹페이지에는 "기술 도움말" 아래에 드롭다운이 있습니다. 여기에 커서를 놓으면 드롭다운이 열리고 "MyTech 지원 포털"을 선택합니다. AutoHotKey에서 "기술 도움말"이라는 텍스트를 찾고 마우스를 "MyTech 지원 포털"로 이동하여 클릭하는 방법을 알 수 없었습니다. Inspect를 사용하여 HTML 소스 코드를 볼 수 있으면 해당 특정 URL을 찾아 추출할 수 있다고 생각했습니다.. 그래서 WinGetText를 사용하여 "MyTech Support Portal" URL을 추출하려고 합니다.
다음은 URL이 포함된 줄의 일부입니다. ,\"Url\":\"https://xxxxx365.sharepoint.com/sites/ServiceManagementSVCDesk\",\"Type\":\"Group\",\"Title\":\"MyTECH Support Portal\",
내가 겪고있는 문제는 다음을 실행할 때입니다.
WebText1 := WinGetText(WebTitle2)
Inspect 텍스트 대신 다음을 반환합니다.
WebText1=크롬 레거시 창
15행에서 MsgBox는 다음을 반환합니다.
WebTitle1=GNIE HOME - Home - Work - Microsoft Edge
WebPage1=36604
WebTitle2=view-source:https://xxxxx365.sharepoint.com and 1 more page - work - Microsoft Edge
WebPage2=36604
내 프로그램 코드는 다음과 같습니다( 내 코드를 테스트하기 위해 Ctrl+ Alt+를 사용하고 있습니다 ).R
#Requires AutoHotkey v2.0
^!r::
{
Run "C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe", , , &OutputVarPID
winWaitActive "ahk_pid" OutputVarPID, , 3
WebTitle1 := WinGetTitle("A")
WebPage1 := OutputVarPID
Send "^u"
winWaitActive "ahk_pid" OutputVarPID, , 3
WebTitle2 := WinGetTitle("A")
WebPage2 := OutputVarPID
MsgBox "WebTitle1=" WebTitle1 "`nWebPage1=" WebPage1 "`nWebTitle2=" WebTitle2 "`nWebPage2=" WebPage2
/*
Send "^f"
SendText "MyTech Support Portal"
send "^f"
sendText "https:"
Send "^+g"
*/
WebText1 := WinGetText(WebTitle2)
msgbox "WebText1=" WebText1
Pos1 := instr(WebText1, "MyTech Support Portal")
if Pos1 = 0 {
msgbox "'MyTech Support Portal' was not found"
exit
}
Pos2 := instr(WebText1,":sptth:", , Pos1, -1)
if Pos2 = 0 {
msgbox "'https:' was not found"
exit
}
url := SubStr(WebText1, Pos2, (Pos1 - Pos2 + 1))
msgbox "url=" url
}
답변1
잠재적인 해결책은 다음과 같습니다.
- 지금처럼 소스를 열어보세요.
- Ctrl+를 눌러 A모든 항목을 선택하세요.
Send, ^a
선택하지 않을 경우,Click
먼저 페이지 중앙에 집중하세요.
- Ctrl+를 사용하여 클립보드에 복사합니다 C.
Send, ^c
- 사용
Clipboard
전체 값에 액세스하기 위한 변수입니다. - 그것에 대해 어떤 종류의 일치도 수행하십시오. 간단하게 추천드려요
RegExMatch
당신이 시도하는 이상한 반대 작업 대신 원하는 URL 형식에 대해. 그룹 으로 캡처해 보세요()
. 일치하는https
것만으로는 페이지의 유일한 URL이 아니라고 생각하기 때문에 좋은 생각이 아닙니다.