Javascript 如果不使用selenium,我们如何从java代码中单击网页?

Javascript 如果不使用selenium,我们如何从java代码中单击网页?,javascript,java,Javascript,Java,嗨,我想在谷歌登录后从API获取访问令牌。但我需要从浏览器中单击Accept按钮并手动获取访问令牌 有人能给我推荐一些方法吗?我可以通过谷歌登录,然后点击下面屏幕上的accept按钮,通过java代码获得访问令牌,而不用手动使用浏览器。我不想在生产中使用selenium。您不必通过UI自动登录以使Google登录正常工作。看一下,特别是关于如何从Java进行身份验证的部分 请注意,具体情况取决于您从何处登录(这是否发生在服务器上?在Android应用程序中?在桌面应用程序中?),以及您是尝试代表

嗨,我想在谷歌登录后从API获取访问令牌。但我需要从浏览器中单击Accept按钮并手动获取访问令牌


有人能给我推荐一些方法吗?我可以通过谷歌登录,然后点击下面屏幕上的accept按钮,通过java代码获得访问令牌,而不用手动使用浏览器。我不想在生产中使用selenium。

您不必通过UI自动登录以使Google登录正常工作。看一下,特别是关于如何从Java进行身份验证的部分


请注意,具体情况取决于您从何处登录(这是否发生在服务器上?在Android应用程序中?在桌面应用程序中?),以及您是尝试代表用户还是您的应用程序进行身份验证。在这里提供更多细节/上下文将有助于推荐特定的实用程序或流程。

为什么要在生产中执行类似操作?@Stultuske每次在生产代码中点击客户端的API时,我都需要从Google获得身份验证令牌。我需要每天都这样做,因为我的模块是每天从客户端获取数据并将其保存到数据库中。我必须在windows server上进行此登录,目前我正在生产中使用selenium打开mozilla浏览器,该浏览器在代码执行时进行谷歌登录,并在登录后进入下一个屏幕,它点击接受按钮。在此过程之后,访问令牌将出现在浏览器的地址栏上。如果我必须只进行登录,那么我可以通过java代码轻松地进行登录,但在这种情况下,在登录后,我也需要在下面的屏幕中单击“接受”按钮,这就产生了问题。@Lokeshnandawar你能解释一下你在做什么吗?听起来您正在让服务器进行身份验证,就像它是最终用户一样。用户应该在自己的设备上进行身份验证(并单击“接受”按钮),然后您的服务存储刷新令牌,或者您应该使用服务帐户允许您的应用根据API进行身份验证(而不是使用常规登录UI作为普通用户进行身份验证)。I(我的代码)我是这里的用户,我的客户公司向我提供了客户id和客户机密,以便通过OAuth访问他们的API。因此,我必须通过使用客户机id和客户机机密获取访问令牌,然后使用该访问令牌访问我的客户机API,并获取我希望在其余代码中使用的数据。但我面临的问题是在不使用java代码的情况下从java代码中获取访问令牌selenium@LokeshNandanwar如果您确实试图以您自己的身份进行身份验证(而不是以您的应用程序身份进行身份验证,在这种情况下,您应该使用服务帐户),那么您应该在交互上下文(如网页或移动应用程序)中进行此登录,然后让这个交互式应用程序在数据库中存储成功登录时给出的刷新令牌。然后,数据库中的此刷新令牌应用于随后在生产上下文中请求身份验证令牌,而不是模拟浏览器登录。