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

VBA Selenium实现Langify登录手动干预后自动执行代码问询

VBA Selenium实现手动干预等待及Langify批量操作方案

核心问题答复

VBA Selenium完全支持手动干预等待需求,你可以通过两种方式实现30-45秒的等待:

  • 固定时长强制等待:直接用Wait方法让程序暂停指定秒数,给你足够时间输入密码和验证码
  • 手动确认等待:弹出对话框,等你点击确认后再继续执行,比固定时长更灵活

修改后的完整代码

Option Explicit
Dim driver As New Selenium.WebDriver

Sub Langify_Automation()
    Dim shopifyPage As String
    Dim loginEmail As String
    Dim loginPwd As String
    Dim lastRow As Long
    Dim i As Long
    
    ' 初始化浏览器
    driver.Start "chrome"
    driver.Get "https://v2.langify-app.com/"
    driver.Window.Maximize ' 最大化窗口方便操作
    
    ' 读取Excel配置数据
    shopifyPage = Sheet3.Range("H2").Text
    loginEmail = Sheet3.Range("H3").Text
    loginPwd = Sheet3.Range("H4").Text
    
    ' 输入Shopify店铺URL并跳转
    driver.FindElementById("form_shop_url").SendKeys shopifyPage
    driver.FindElementById("form_install").Click
    
    ' 输入登录邮箱
    driver.FindElementByCss("#account_email").SendKeys loginEmail
    
    ' --- 手动干预等待逻辑 ---
    ' 方式1:固定等待40秒(可按需调整)
    Application.Wait Now + TimeValue("00:00:40")
    
    ' 方式2:手动确认(注释掉方式1,启用此方式更灵活)
    ' MsgBox("请完成密码、验证码输入并点击登录,完成后点击确定继续", vbInformation)
    
    ' --- 后续自动化操作 ---
    ' 点击自定义导航按钮(替换为实际元素定位符)
    driver.FindElementByCss("YOUR_CUSTOM_NAV_SELECTOR").Click
    
    ' 点击全局按钮(替换为实际定位符)
    driver.FindElementByCss("YOUR_GLOBAL_BUTTON_SELECTOR").Click
    
    ' 获取Excel数据最后一行
    lastRow = Sheet3.Cells(Sheet3.Rows.Count, "A").End(xlUp).Row
    
    ' 循环批量添加内容
    For i = 1 To lastRow
        ' 点击右侧三点按钮(替换为实际定位符)
        driver.FindElementByCss("YOUR_THREE_DOTS_SELECTOR").Click
        
        ' 选择"添加新客户内容"(替换为实际定位符)
        driver.FindElementByCss("YOUR_ADD_NEW_CONTENT_SELECTOR").Click
        
        ' 输入第一列文本(假设文本在A列)
        driver.FindElementByCss("YOUR_INPUT_BOX_SELECTOR").SendKeys Sheet3.Range("A" & i).Text
        
        ' 输入第二列翻译文本(假设在B列)
        driver.FindElementByCss("YOUR_TRANSLATION_BOX_SELECTOR").SendKeys Sheet3.Range("B" & i).Text
        
        ' 点击保存按钮(替换为实际定位符)
        driver.FindElementByCss("YOUR_SAVE_BUTTON_SELECTOR").Click
        
        ' 等待保存完成(按需调整时长)
        Application.Wait Now + TimeValue("00:00:02")
    Next i
    
    ' 操作完成提示
    MsgBox("批量翻译内容添加完成!", vbInformation)
    driver.Quit ' 关闭浏览器
End Sub

关键细节说明

  • 元素定位符替换:代码中YOUR_XXX_SELECTOR需要替换为Langify页面实际的CSS选择器/XPath,可通过Chrome开发者工具(F12)获取元素定位
  • 等待逻辑选择:如果登录流程耗时不固定,优先用手动确认的方式(MsgBox),避免固定等待时间过长或过短
  • 稳定性优化:对于页面加载慢的元素,可改用Selenium显式等待替代Application.Wait,示例:
    driver.Wait 10000 ' 等待10秒直到元素出现
    driver.FindElementByCss("SELECTOR", 10000).Click
    
  • Excel数据读取:确保Sheet3中A、B列是待翻译的原文和译文,可根据实际列位置调整代码中的列标识

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 19:30:53