Foxtable(狐表)用户栏目专家坐堂 → [求助]关于自动打开网页并填入用户名和密码的求助


  共有8178人关注过本帖树形打印复制链接

主题:[求助]关于自动打开网页并填入用户名和密码的求助

帅哥哟,离线,有人找我吗?
有点甜
  11楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/11/15 14:17:00 [只看该作者]


 回到顶部
帅哥哟,离线,有人找我吗?
洮沙
  12楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:804 积分:6903 威望:0 精华:0 注册:2017/8/31 12:07:00
回复:(有点甜)谷歌就用webkit等?http://w...  发帖心情 Post By:2017/11/20 8:17:00 [只看该作者]

甜老师,再弱弱的问一次,谷歌浏览器能否通过以下方法(关键是思路)实现自动填入?

Dim yhm As String = Tables("表A").Current("用户名")
Dim mm As String = Tables("表A").Current("密码")
Dim Proc As New Process
Proc.File = "Chrome.exe" '指定要执行的文件
Proc.Arguments = "https://12366.gs-n-tax.gov.cn/login-web/login#" '指定命令行参数
Proc.Start()
Proc.WaitForInputIdle() '等程序自动结束并进入空闲状态
Sendkeys.Send("{TAB}") '发送按键信息
Sendkeys.Send("" & yhm & "") '发送按键信息
Sendkeys.Send("{TAB}") '发送按键信息
Sendkeys.Send("" & mm & "") '发送按键信息

 

 

自己测试后,输入的信息在Foxtable表中。请给于正解,谢谢!

 

[此贴子已经被作者于2017/11/20 8:17:04编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  13楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/11/20 8:49:00 [只看该作者]

Dim Proc As New Process
Proc.File = "Chrome.exe" '指定要执行的文件
Proc.Arguments = "https://12366.gs-n-tax.gov.cn/login-web/login#" '指定命令行参数
Proc.Start()
system.threading.thread.sleep(2000)
Sendkeys.Send("{TAB}") '发送按键信息
Sendkeys.Send("123") '发送按键信息
Sendkeys.Send("{TAB}") '发送按键信息
Sendkeys.Send("456") '发送按键信息

 


 回到顶部
帅哥哟,离线,有人找我吗?
洮沙
  14楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:804 积分:6903 威望:0 精华:0 注册:2017/8/31 12:07:00
回复:(有点甜)Dim Proc As New ProcessProc.File =...  发帖心情 Post By:2017/11/20 8:58:00 [只看该作者]

甜老师,网页上的登录按钮,是不是就没有办法进行触发了?

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  15楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/11/20 9:19:00 [只看该作者]

以下是引用洮沙在2017/11/20 8:58:00的发言:
甜老师,网页上的登录按钮,是不是就没有办法进行触发了?

 

没办法,你可以试试设置鼠标位置,然后点击

 

全局代码

 

Public Declare Sub mouse_event Lib "user32" (ByVal dwFlags As Long, ByVal dx As Long, ByVal dy As Long, ByVal cButtons As Long, ByVal dwExtraInfo As Long)
Public const MOUSEEVENTF_MOVE As Int32 = &H1 '  mouse move
Public const MOUSEEVENTF_LEFTDOWN As Int32 = &H2 '  left button down
Public const MOUSEEVENTF_LEFTUP As Int32 = &H4 '  left button up
Public const MOUSEEVENTF_RIGHTDOWN As Int32 = &H8 '  right button down
Public const MOUSEEVENTF_RIGHTUP As Int32 = &H10 '  right button up
Public const MOUSEEVENTF_MIDDLEDOWN As Int32 = &H20 '  middle button down
Public const MOUSEEVENTF_MIDDLEUP As Int32 = &H40 '  middle button up
Public const MOUSEEVENTF_ABSOLUTE As Int32 = &H8000 '  absolute move
Public const MOUSEEVENTF_WHEEL As Int32 = &H800 ' wheel button rolled

<DllImport("user32.dll", EntryPoint := "SetCursorPos")> _
Public Function SetCursorPos(x As Integer, y As Integer) As Boolean

End Function

 

调用

 

SetCursorPos (599, 589) '鼠标位置
mouse_event( MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0) '点击
mouse_event (MOUSEEVENTF_LEFTUP, 0, 0, 0, 0)


 回到顶部
帅哥哟,离线,有人找我吗?
洮沙
  16楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:804 积分:6903 威望:0 精华:0 注册:2017/8/31 12:07:00
回复:(有点甜)以下是引用洮沙在2017/11/20 8:58:00...  发帖心情 Post By:2017/11/20 9:30:00 [只看该作者]

长见识了,谢谢!

现在基本上能自动录入,不过又出现“输入法”的问题,也就是输入的时候,输入法默认为打开且为中文输入时,网页输入结果是其他中文字符!要实现完美自动输入,好像还得添加关闭输入法,输入完成后再打开输入法的命令。

此问题,好像有点啰嗦了!

甜老师,如果您顾得上的话,请给予解答,顾不上的话,那就算了!

[此贴子已经被作者于2017/11/20 9:30:39编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  17楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/11/20 10:03:00 [只看该作者]

加入一个enter键就好

 

Dim Proc As New Process
Proc.File = "Chrome.exe" '指定要执行的文件
Proc.Arguments = "https://12366.gs-n-tax.gov.cn/login-web/login#" '指定命令行参数
Proc.Start()
system.threading.thread.sleep(2000)

Sendkeys.Sendwait("{TAB}") '发送按键信息
Sendkeys.Sendwait("aabbccefg") '发送按键信息
system.threading.thread.sleep(2000)
Sendkeys.Sendwait("{enter}") '发送按键信息
Sendkeys.Sendwait("{TAB}") '发送按键信息
system.threading.thread.sleep(2000)
Sendkeys.Send("jikoieiwuw") '发送按键信息


 回到顶部
帅哥哟,离线,有人找我吗?
洮沙
  18楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:804 积分:6903 威望:0 精华:0 注册:2017/8/31 12:07:00
回复:(有点甜)加入一个enter键就好 Dim P...  发帖心情 Post By:2017/11/20 10:20:00 [只看该作者]

知道了,万分感谢!!!

 回到顶部
帅哥哟,离线,有人找我吗?
洮沙
  19楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:804 积分:6903 威望:0 精华:0 注册:2017/8/31 12:07:00
回复:(有点甜)如果是打开一个ie浏览器,参考代码...  发帖心情 Post By:2017/11/23 13:04:00 [只看该作者]

如果是打开一个ie浏览器,参考代码

 

Dim ie As Object = CreateObject("InternetExplorer.Application")
ie.Visible = True
ie.Navigate("https://12366.gs-n-tax.gov.cn/login-web/login")
Application.DoEvents
Do While ie.busy Or ie.readystate <> 4
    Application.DoEvents
Loop

Dim Inputs = ie.Document.GetElementById("login-0").GetElementsByTagName("input")
Dim aas = ie.Document.GetElementById("login-0").GetElementsByTagName("a")
For Each Input As object In Inputs
    If Input.getAttribute("class").tostring = "userID-1" Then
        Input.SetAttribute("value", "abc")
    ElseIf input.id = "password-1"
        Input.SetAttribute("value", "123")
    End If
Next
For Each a As object In aas
    If a.getAttribute("class").tostring = "btn login-btn" Then
        a.click
    End If
Next

 

 

现在我用这的代码,第一个客户(第一次运行)成功登陆后,如果是第二个客户登陆的话,出现如下错误信息,麻烦甜老师看看,谢谢!

.NET Framework 版本:2.0.50727.8762
Foxtable 版本:2017.10.26.1
错误所在事件:窗口,电子税务局,Button1,Click
详细错误信息:
无法创建 ActiveX 组件。

 

 


 下载信息  [文件大小:   下载次数: ]
点击浏览该文件:管理项目1.table

[此贴子已经被作者于2017/11/23 13:19:44编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  20楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/11/23 14:47:00 [只看该作者]

以下是引用洮沙在2017/11/23 13:04:00的发言:

 

.NET Framework 版本:2.0.50727.8762
Foxtable 版本:2017.10.26.1
错误所在事件:窗口,电子税务局,Button1,Click
详细错误信息:
无法创建 ActiveX 组件。

[此贴子已经被作者于2017/11/23 13:19:44编辑过]

 

卸载重装ie浏览器就行了。

 

https://jingyan.baidu.com/article/200957617c7319cb0721b48a.html

 


 回到顶部
总数 25 上一页 1 2 3 下一页