2014-11-22 4 views
2

현재 웹 페이지를 열고 로그인을 입력하고 로그인 한 다음 정보를 입력하고 무작위로 생성 된 CD 키를받는 vbs에서 작업하고 있습니다.임의로 생성 된 텍스트를 IE에서 복사

이 CD 키를 복사 할 수있는 방법이 있습니까? using ie.document.getelementbyid CD 키가 포함 된 전체 텍스트 상자에서만 CD 키와 관련된 모든 ID를 찾을 수 없습니다.

웹 페이지에서 원하는 부분을 정확히 지정할 수있는 방법이 있습니까? 내가 그 라인에서 복사하고 싶은 텍스트를 웹 사이트에서 선택하는 것?

CD 키는 항상 무작위입니다. 유일한 상수는 셀에있을 것이고 하이픈을 가지고 있습니다. (어떤 CD 키처럼)

CD 키를 추출하면 텍스트 파일 등에 저장할 수 있습니다.

Example

편집 : 지금까지

코드 :

Set IE = CreateObject("InternetExplorer.Application") 
IE.Visible = 1  
IE.navigate "xxxx" 
Do While (IE.Busy)  
    WScript.Sleep 100  
Loop  
Set Helem = IE.document.getElementByID("UserNameTextBox") 
Helem.Value = "xxxxx"  
Set Helem = IE.document.getElementByID("PasswordTextBox") 
Helem.Value = "xxxxx" 
Set Helem = IE.document.getElementByID("Button1") 
Helem.Click 
Do While (IE.Busy)  
    WScript.Sleep 100  
Loop 
Set Helem = IE.document.getElementByID("generateECodes_PackageDropdown") 
Helem.Value = "430" 
IE.Document.getElementByID("generateECodes_PackageDropdown").FireEvent ("onChange") 
WScript.Sleep 500 
Do While (IE.Busy)  
    WScript.Sleep 500  
Loop 
Set Helem = IE.document.getElementByID("generateECodes_TermDropdown") 
Helem.Value = "5" 
IE.Document.getElementByID("generateECodes_TermDropdown").FireEvent ("onChange") 
Do While (IE.Busy)  
    WScript.Sleep 500  
Loop 
Set Helem = IE.document.getElementByID("generateECodes_Languages") 
Helem.Value = "29" 
IE.Document.getElementByID("generateECodes_Languages").FireEvent ("onChange") 
Do While (IE.Busy)  
    WScript.Sleep 500  
Loop 
Set Helem = IE.document.getElementByID("generateECodes_StoreNumber") 
Helem.Value = "230" 
IE.Document.getElementByID("generateECodes_StoreNumber").FireEvent ("onChange") 
Do While (IE.Busy)  
    WScript.Sleep 500  
Loop 
Set Helem = IE.document.getElementByID("generateECodes_Required") 
Helem.Value = "1" 
Do While (IE.Busy)  
    WScript.Sleep 500  
Loop 
Set Helem = IE.document.getElementByID("generateECodes_Button") 
Helem.Click 
Do While (IE.Busy)  
    WScript.Sleep 500  
Loop 
    Set Helem = IE.document.getElementByID("generateECodes_Table") 


Do While (IE.Busy)  
    WScript.Sleep 100  
Loop 

dim filesys, filetxt, getname, path 
Set filesys = CreateObject("Scripting.FileSystemObject") 
Set filetxt = filesys.CreateTextFile("c:\Something.txt", True) 
path = filesys.GetAbsolutePathName("c:\Something.txt") 
getname = filesys.GetFileName(path) 
filetxt.WriteLine("Password: "+Helem) 
filetxt.WriteLine("Brugernavn: "+Helem) 
filetxt.Close 
+0

가 X의 난 추출하는 데 필요한 키 코드를 나타내는 코드의 그림입니다 다음 innerText이 CD 키를 패턴과 일치하는 경우 tched, 그리고 확인. http://i59.tinypic.com/4kz47m.png – Gematria

+0

지금까지 무엇을 가지고 있었는지 보여 주시고 커뮤니티와 함께 ​​할 일이 있는지 확인하십시오. 당신이 코드 작성 서비스를 요구하고있는 것처럼 보입니다. SO가있는 서비스가 아닙니다. – Matt

+0

죄송합니다. 그것을 게시하는 데 문제가 있었는지, 그리고 직장에서 메신저 그리고이 나던이 최우선 순위 : P는 위의 코드에서 편집 필자. 마지막 비트 Set Helem = IE.document.getElementByID ("generateECodes_Table")는 다음과 같은 문제가 있습니다. 해당 테이블의 내용을 txt 파일로 추출하여 필요한 정보 만 추출하는 것이 바람직합니다. – Gematria

답변

1

당신에게 테이블에서 철을 <td> 요소를 이미 열거

다음
... 
Set Helem = IE.document.getElementByID("generateECodes_Table") 

Set re = New RegExp 
re.Pattern = "\w{5}(-\w{5}){4}" 
re.IgnoreCase = True 

For Each td In Helem.getElementsByTagName("td") 
    If re.Test(td.innerText) Then cdKey = td.innerText 
Next 
... 
+0

그건 .. 예쁘다! 엄청 고마워. 나는 아마 약간의 RE에서 위로 읽는 것을 시작해야한다.. 나는 그것에 빨기를 둔다. 모든 권장 가이드? 완벽하게 작동합니다. – Gematria

+0

시작 [여기] (http://msdn.microsoft.com/en-us/library/6wzad2b2%28v=vs.84%29). –

관련 문제