You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在WebView中模拟Google Drive加密PDF的提交按钮点击?

问题:模拟Google Drive加密PDF提交按钮点击

我在WebView中打开Google Drive托管的加密PDF文件,页面加载完成后,通过以下JavaScript代码向密码输入框注入了密码:

document.getElementsByClassName('ndfHFb-c4YZDc-UmsTj-YPqjbf')[0].value = '123456'

但尝试模拟提交按钮点击时,以下代码无效:

document.getElementsByClassName('ndfHFb-c4YZDc-UmsTj-YPqjbf')[0].focus()
document.getElementsByClassName('ndfHFb-c4YZDc-UmsTj-YPqjbf')[0].click()

请问应该用什么JavaScript命令模拟提交按钮点击?


解决方法

你之前的代码错误地操作了密码输入框,而非提交按钮。需要定位到提交按钮元素后再触发点击操作,以下是几种可行的实现方式:

  1. 通过常见类名定位提交按钮
    Google Drive的密码提交按钮通常使用特定类名组合,可直接通过选择器定位:
document.querySelector('.VfPpkd-LgbsSe.VfPpkd-vQzf8d').click()
  1. 通过按钮文本内容定位
    如果按钮显示“提交”(或英文“Submit”),可以按文本匹配查找:
Array.from(document.querySelectorAll('button'))
  .find(btn => btn.textContent.trim() === '提交')
  .click()
  1. 通过输入框关联父容器定位
    利用输入框的父容器,查找内部的提交按钮:
const inputBox = document.getElementsByClassName('ndfHFb-c4YZDc-UmsTj-YPqjbf')[0];
inputBox.closest('.ndfHFb-c4YZDc').querySelector('button').click()
  1. 直接触发表单提交(备选)
    若输入框属于某个表单,可直接调用表单的submit方法:
const inputBox = document.getElementsByClassName('ndfHFb-c4YZDc-UmsTj-YPqjbf')[0];
inputBox.form.submit();

注意事项

  • Google Drive页面元素的类名可能会随版本更新变化,若上述选择器失效,可通过浏览器开发者工具(F12)查看提交按钮的最新类名或属性。
  • 在WebView中执行JavaScript时,需确保页面完全加载完成,避免因元素未渲染导致代码执行失败。

内容的提问来源于stack exchange,提问作者Hayk o

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 19:52:06