비주얼베이직을 이용하여 브라우저에 값을 자동입력하려는데 에러가 납니다.(ActiveX)

지수아비의 이미지

비주얼베이직으로 액티브엑스를 구현하려고합니다.
사이트별로 아이디와 패스워드를 자동으로 입력되게 하려고하는데요
form 태그를 만나면 각 앨리먼트를 검색해서 ID와 Password가 입력되도록 하였습니다.
그런데 form태그 안쪽에 fieldset 태그가 있으면 런타임에러가 납니다.
액티브엑스소스는 아래와 같습니다.

WebBrowser1.Navigate (<a href="http://www.xxx.xxx" rel="nofollow">http://www.xxx.xxx</a>)
For x = 0 To WebBrowser1.Document.Forms.length - 1    '폼개수만큼 반복
   For y = 0 To WebBrowser1.Document.Forms(x).length - 1  '폼의 엘리먼트 수만큼 반복
       If WebBrowser1.Document.Forms(x).Item(y).Type = "text" Or WebBrowser1.Document.Forms(x).Item(y).Type = "password" Then
           itemName = LCase(WebBrowser1.Document.Forms(x).Item(y).Name)
           If itemName = "id" then
               WebBrowser1.Document.Forms(x).Item(y).Value = varLoginID
           End If
           If itemName = "pw" then
               WebBrowser1.Document.Forms(x).Item(y).Value = varLoginPW
           End If
       End If
   Next
Next


대부분의 사이트에서는 정상적으로 값이 입력되는데 아래처럼 fieldset 태그가 폼태그 안쪽에 있는 사이트의
경우 런타임에러가 발생합니다.
fieldset이라는게 비주얼베이직에서 특별한 의미로 사용되기 때문인가요?

<form name='form' method='post'>
<fieldset>
    <input type='text' name='id'>
    <input type='password' name='pw'>
    <input type='submit' value='OK'>
</fieldset>
</form>

위 내용이 아래처럼 fieldset이 form태그 밖으로 나가있을경우에는 정상적으로 잘 됩니다.

<fieldset>
<form name='form' method='post'>
    <input type='text' name='id'>
    <input type='password' name='pw'>
    <input type='submit' value='OK'>
</form>
</fieldset>

도와주세요.....ㅜㅜ

지리즈의 이미지

여전히 사용하나요?

There is no spoon. Neo from the Matrix 1999.

There is no spoon. Neo from the Matrix 1999.

지수아비의 이미지

??

지리즈의 이미지

프로시저 앞에 넣어 두면 그 프로시져 내부에서 비주얼베이식이 처리할 수 있는 오류는 무시합니다.

on error goto LABEL

하면 에러가 나면 Label로 점프하고,
err 객체로 에러를 별도로 핸들할 수 있지요.

위의 예같은 경우는 저런 류의 에러는 무시해도 될 것 같으므로,
on error resume next를 써도 될 듯 하네요.

만약에 제가 저런 프로그램을 만들라고 하라면,
inet 컨트롤를 써서, 해당 패이지를 tmp디렉토리 같은데 저장해 놓고,
별도로 만든 파서로 form 태그들만 뽑아 낼 것 같습니다.
vb, instr 함수도 꽤나 강력하거든요.

There is no spoon. Neo from the Matrix 1999.

There is no spoon. Neo from the Matrix 1999.

지수아비의 이미지

덕분에 해결되었습니다.
그 한줄이 엄청난 결과를 가져오는군요.
감사합니다.

peecky의 이미지

fieldset은 form의 엘리먼트에는 속하지만 type값은 없습니다.

If WebBrowser1.Document.Forms(x).Item(y).Type = "text"

이 부분에서 에러가 나는게 아닐까 추측합니다.

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.