【问题标题】:Visual Basic - Button on website doesnt have an IDVisual Basic - 网站上的按钮没有 ID
【发布时间】:2015-06-12 11:53:39
【问题描述】:

我正在尝试构建一个将您登录到 instagram 的应用程序。我已经输入用户名+密码没问题了

但是,当我去获取提交按钮的 ID 时,它们不是一个。而且我一直在使用 .GetElementById。反正他们在这附近吗?

我对 Visual Basic 还是很陌生,所以请把它简化为简单的术语! 提前谢谢!

【问题讨论】:

  • 您是如何尝试在 Instagram 上进行登录的?从它的声音来看,您正试图抓取页面并启动与按钮相关的功能,这是一个相当糟糕的选择。您最好使用他们的 API 来处理登录并持有会话令牌。另一种方法是获取一个类型的元素,然后检查按钮的文本,但这会有点麻烦。
  • 作为一个选项,您可以使用 Sikuli。如果你能找到它的VB示例绑定,你可以简单地抓取按钮的图像,让Sikuli在页面上为你找到它并触发点击。 sikuli.org
  • 我正计划做一些类似 WebBrowser1.Document.GetElementById("LOGIN").InvokeMember("click") 但这不起作用
  • 那个 sikuli 看起来很棒,我会看看并报告。谢谢!
  • 啊,好的,您的 Web 浏览器组件是 VB 形式的,这更有意义。你在处理 HtmlElementCollection 吗?如果是这样,GetElementByName 可能是要走的路。这是 VB6 还是 .NET?

标签: forms basic


【解决方案1】:

通过 ID 获取元素并不是唯一的解决方案。你总是可以通过它的名字来获取它们,或者你可以自己找到元素。只需查看整个页面的源代码,搜索该按钮携带的特定内容并调用它。 Visual basic 的库可能不足以应对这种情况。

【讨论】:

  • 我面前没有电脑。我回家的时候让我帮你。
【解决方案2】:
  WebBrowser1.Document.GetElementById("username").InvokeMember("select")
            WebBrowser1.Document.ActiveElement.Focus()
            SendKeys.Send("{ENTER}")

这是有效的代码!将“用户名”ID 更改为您将要更改的表单,然后将注意力集中在它上面并按 Enter!模拟提交按钮。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-04-23
    • 2021-12-30
    • 1970-01-01
    • 2017-06-24
    • 1970-01-01
    • 2019-03-25
    • 2014-12-13
    • 2015-12-02
    相关资源
    最近更新 更多