为什么 SendKey Enter 无法在 Chrome 浏览器中使用

2024-02-15

我正在尝试检查在 Chrome 浏览器中输入 Excel 的几个 vin,此代码将打开浏览器并输入它们,但不会按 Enter 键来单击按钮。不知道我做错了什么,但我尝试了几种变体,但似乎想不出任何办法。

抱歉,如果我的格式很糟糕,这是我第一次在这里发帖。

chromePath = """C:\Program Files (x86)\Google\Chrome\Application\chrome.exe"""

StartRow = 2
EndRow = InputBox("Please enter how many vins to check!")

RowIndex = 2
EndRow = 1 + EndRow

For i = StartRow To EndRow
Vin = Sheets("VinCheck").Cells(i, "A")
browser = Shell(chromePath & " -url https://www.autoreturn.com/indianapolis-in/find-vehicle/ ")

Application.Wait Now + 0.00003



Application.SendKeys "{Tab}", True
Application.SendKeys "{Tab}", True
Application.SendKeys "{Tab}", True
Application.SendKeys "{Tab}", True

Application.SendKeys Vin, True
Application.SendKeys "{~}", True

Application.SendKeys "{Tab}", True 
Application.Wait Now + 0.00003


Msg = "Was Vehicle Found?" & vbCrLf & "Click Yes to move on to the next Vin"
MsgBox Msg, vbYesNo, "Advanced Excel Training"
If Response = vnYes Then
Sheets("VinCheck").Cells(i, "B").Value = "Found"
Else
Sheets("VinCheck").Cells(i, "B").Value = "Vehicle Not Found"
End If
Next i
End Sub

我会给硒基本包装 https://github.com/florentbr/SeleniumBasic/releases/tag/v2.0.9.0如果允许安装,请尝试使用 vba。安装后,您可以通过 vbe > 工具 > 引用添加对 selenium 类型库的引用。您需要安装最新的 chrome 和 chromedriver,并且 chromedriver.exe 应与 selenium 可执行文件位于同一文件夹中。

那么你的任务的语法就很好并且具有描述性。我没有在 vins 上添加循环,但显示了搜索的基本元素。我提供了一个子程序来将结果写到工作表中。

我希望能够删除 SendKeys 之后的显式等待,但似乎没有任何页面事件/更改我可以监视以确定何时单击按钮并包含发送的 vin。 1 秒的等待似乎始终足够。您可以根据您执行的搜索次数探索减少此次数。

Option Explicit
Public Sub SearchVins()
    Dim d As WebDriver, hTable As Object, ws As Worksheet, t As Date
    Dim headers(), vin As String
    Const MAX_WAIT_SEC As Long = 10
    Set d = New ChromeDriver
    Set ws = ThisWorkbook.Worksheets("Sheet1")
    Const URL = "https://www.autoreturn.com/indianapolis-in/find-vehicle/"

    headers = Array("License", "State", "Make", "Model", "Color", "Vin", "Status", "Tow date and Time")
    vin = "1G4HD57287U218052"

    With d
        .Start "Chrome"
        .get URL

        .FindElementById("vin").SendKeys vin     '<== vin

        Application.Wait Now + TimeSerial(0, 0, 1)

        .FindElementByCss("[onclick='submitVin()']").Click

        t = Timer
        Do
            DoEvents
            On Error Resume Next
            Set hTable = .FindElementByCss("table")  'use tag name of results table to target table
            On Error GoTo 0
            If Timer - t > MAX_WAIT_SEC Then Exit Do
        Loop While hTable Is Nothing
        'do something with results
        If Not hTable Is Nothing Then
            WriteTable hTable, LastRow(ws) + 2, ws
            Set hTable = Nothing
        End If

        .FindElementByCss("a.more-link").Click   '<== search again button
        'Another search for example.....
        Stop                                     '<==Delete me later
        ws.Cells(2, 2).Resize(1, UBound(headers) + 1) = headers '<== Finally add headers
        .Quit
    End With
End Sub

Public Sub WriteTable(ByVal hTable As Object, ByVal startRow As Long, ByVal ws As Worksheet)
    Dim tr As Object, td As Object, r As Long, c As Long
    r = startRow
    For Each tr In hTable.FindElementsByTag("tr")
        c = 1
        For Each td In tr.FindElementsByTag("td")
            ws.Cells(r, c) = td.Text
            c = c + 1
        Next
        r = r + 1
    Next
End Sub
Public Function LastRow(ByVal sh As Worksheet) As Long
    On Error Resume Next
    LastRow = sh.Cells.Find(What:="*", _
                            After:=sh.Range("A1"), _
                            Lookat:=xlPart, _
                            LookIn:=xlFormulas, _
                            SearchOrder:=xlByRows, _
                            SearchDirection:=xlPrevious, _
                            MatchCase:=False).Row
    On Error GoTo 0
End Function
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么 SendKey Enter 无法在 Chrome 浏览器中使用 的相关文章

  • Excel VSTO 加载项可以与 Excel 2007 和 2010 兼容吗?

    是否可以使用 VSTO 开发一个可部署到 Excel 2007 和 2010 的 Excel 加载项 任何有关此主题的详细资源的链接也将不胜感激 我似乎无法在谷歌上找到任何专门解决此问题的内容 我正在使用 Visual Studio 201
  • html 抓取和 CSS 查询

    以下库的优点和缺点是什么 PHP 简单 HTML DOM 解析器 http simplehtmldom sourceforge net QP http querypath org phpQuery http code google com
  • VBA Word - 更改小数点分隔符

    我周围的一些人在 Windows Office 中使用国家本地化 不幸的是 这导致我的宏无法执行简单的数学运算 因为它们使用逗号表示小数位置 而我编辑的 pov ray 文件仅使用逗号作为列表分隔符 使用点表示小数点 1 我知道在 Exce
  • Python请求401错误但url在浏览器中打开

    我正在尝试从这个位置提取 json https www nseindia com api option chain indices symbol BANKNIFTY https www nseindia com api option cha
  • 如果单元格包含文本,则条件格式化整行

    我有一个 Excel 工作表 我正在尝试使用条件格式 但它似乎没有像我希望的那样工作 似乎任何公式都不起作用 因为我不希望单元格匹配 TBC 而是包含它 简而言之 我正在寻找这个 如果 D2 包含 TBC 则突出显示整行 我已经通过 Goo
  • Jsoup - 隐藏的div类?

    我正在尝试爬取 div 类 但到目前为止我尝试过的一切都失败了 我正在尝试抓取元素 a href div class s buttons button s buttons buttonAlt s buttons buttonSlashBac
  • Python(openpyxl):将数据从一个excel文件转移到另一个(模板文件)并用另一个名称保存,同时保留模板

    我有一个templateexcel 文件名为template xlsx其中有许多张 我想从单独的地方复制数据 csv文件到第一页template xlsx 命名为data 并将新文件另存为result xlsx同时保留原来的模板文件 我想粘
  • BeautifulSoup 不适用于某些网站

    我有这个脚本 import urrlib2 from bs4 import BeautifulSoup url http www shoptop ru page urllib2 urlopen url read soup Beautiful
  • 如何创建动态变量名VBA

    我正在尝试根据单元格中的值在 VBA 中创建动态数量的变量 本质上我想要的结果是这样的Team1 Team2 to TeamX 任何帮助是极大的赞赏 Dim i x As Integer Set x Range J4 Value Dim T
  • 在 Excel 中打印 MATLAB 图窗并调整其大小

    我在 MATLAB 中有两个带有手柄的图形hFig1 and hFig2 我想将它们打印到 Excel 中的特定单元格 单元格 E3 和 I3 并将它们重新调整为 2 英寸 x 3 英寸 我尝试过使用 AddPictures对象处理程序和使
  • 从动态服务器中抓取 html 列表数据

    哈喽大家好 抱歉提出转储问题 这是我最后的手段 我发誓我尝试了无数其他 Stackoverflow 问题 不同的框架等 但这些似乎没有帮助 我有以下问题 一个网站显示一个数据列表 前面有大量的 div li span 等标签 它是一个很大的
  • 转置 CopyFromRecordset Excel VBA

    我的 Excel VBA 中有以下代码 可将 SQL 中的表中的数据复制到 Excel 中 该数据从单元格 C2 开始水平插入 但我希望将其垂直插入到 C 列 Sheets Control Range C2 CopyFromRecorset
  • 将 .XLS 转换为制表符分隔的 .TXT

    我可以使用 C 将 Excel XLS 文件转换为 txt tsv 制表符分隔值 文件吗 使用 OleDb 可能很棘手 并且可能会导致问题 具体取决于创建电子表格的 Excel 版本 例如 上面的示例适用于 xls 但不适用于 xlsx 您
  • ATL创建的COM接口继承IDispatch但后期绑定不起作用

    这是我的 IDL 文件 IFrame 是一个双接口 同时继承了 IDispatch 和 IUnknown object uuid C5AD0517 37FC 479C 9C7A A063B17E4A2E dual nonextensible
  • VBScript for Excel:如何选择源数据 (.SetSourceData)?

    我已经在谷歌和这里搜索了这个问题的答案 但没有成功 如果之前有人问过 那么我道歉 我正在尝试使用 VBScript 自动执行一些管理任务 此特定脚本的目的是从文本文件 包含文本和数字列 中获取一些使用情况统计信息 并根据数据制作折线图 创建
  • Excel VBA 将范围值复制到数组,

    我有以下代码摘录 我试图将一系列值复制到声明的数组上 但它一直给我 无法分配给数组 错误 Dim permittedCurve 0 To 7000 As Variant permittedCurve activeWorkbook Works
  • 请参阅使用代号的表

    我在此代码中收到 类型不匹配 错误 With Worksheets Sheet1 Error here my code here End With 我的床单CodeName is sheet1 有人可以帮我消除错误吗 1 按索引参阅表 Wi
  • 使用 Selenium 从 twitter 抓取动态推文

    这可能看起来像一个重复的问题 但相信我 我在 Twitter 上观察到了一些新东西 我之前制作了一个 Twitter 抓取工具 它使用滚动和等待动态元素来获取给定数量的推文 但现在好像不行了 它不会抓取超过 10 条推文 此外 它抓取的推文
  • org.apache.poi 中的异常

    我试图编写一个可以读取和写入的程序 xlsx文件中 下面提供的代码旨在能够编写其第一个 Excel 程序 package excel reader import java io FileOutputStream import java io
  • 将参数传递给使用“New”创建的访问表单

    我有一个名为 详细信息 的表单 它显示所选记录的详细视图 该记录是从称为 搜索 的不同形式中选择的 因为我希望能够打开 详细信息 的多个实例 每个实例显示不同记录的详细信息 所以我使用了以下代码 Public detailCollectio

随机推荐

  • 如何在Python中将负值数组求成分数次方?

    我有一个带有负值的数组 必须在 Python 中将其提升为分数幂 我需要获取运算生成的复数数组的实部 MWE from future import division import numpy as np a 10 b 2 5 n 0 88
  • build.gradle 是否可以防止反编译?

    反编译代码非常容易 即使使用 Proguard 代码也不是安全的 我需要的是保护应用程序中的 密钥 build gradle 安全吗 可以反编译吗 buildConfigField String Key 1234567890 Update
  • 是否有任何带有角度材料过滤器功能的下拉菜单?注意:使用 mat-select 而不是 mat-option

    我在角度材料中搜索了过滤下拉选项 但找不到任何带有垫选择多重选择的内容 我认为角度材料中没有可用于垫选择的实现 有没有办法使用角度材料来实现这一点 好吧 我们可以创建一个带有过滤器的多选材质输入表单控件 由于答案有点大 您可以在以下位置看到
  • 如何用该语言编写该语言的编译器? [复制]

    这个问题在这里已经有答案了 可能的重复 一种语言的编译器如何用该语言编写 https stackoverflow com questions 2998768 how can a languages compiler be written i
  • 合并不会保留对文件的更改,为什么?

    我遇到过一个案例merge默默地忽略合并分支的一些更改 这是我所期望的 rebase会带走他们 案例如下 merge slave into master line not back oops was bad put the line bac
  • 使用 html 编码或混合应用程序的通用插件在四种环境(android、ios、blackberry 和 windows)中加载的启动屏幕[重复]

    这个问题在这里已经有答案了 我想要一个带有加载指示器或忙碌指示器或进度条的启动屏幕 在所有主要环境 android ios 黑莓和 Windows 中使用 html css 和 javascript 或通用插件 可以将其添加到我的 Web
  • Bulma:如何定义移动设备上的堆栈顺序

    我正在采取Bulma Flexbox CSS 框架 http bulma io 试一试 到目前为止它非常整洁 我发现的唯一障碍是我似乎无法设置移动设备的显示顺序 div class columns div class column foo
  • iPhone SDK / Facebook Connect:使用自定义登录对话框

    正如标题所说 是否可以在本机 iPhone 应用程序中使用 Facebook Connect 或任何其他 FB 集成方式 而无需借助内置登录对话框 这看起来很糟糕 我可以创建自己的自定义登录屏幕 要求输入 facebook 登录用户名和密码
  • 令人困惑的 python 列表理解

    我试图弄清楚这个列表理解是如何工作的 但我不太明白它是如何工作的 如果有人可以写出非列表理解的等价物 我想我可以理解 这是我坚持的路线 item for sublist in li for item in sublist 它的既定目的是扁平
  • RecyclerView onMeasure性能问题

    我在 recyclerView 中使用相当复杂的 recyclerView 项目布局 我已经开始遇到性能问题有一段时间了 每次运行应用程序时 我都会在 recyclerView 中的视图布局膨胀时收到警告 例如 D View ANR War
  • 偶数总和错误

    我收到以下错误 1 expected before line 2 2 expected at end of input line 12 这是我的代码 include
  • Ruby 修改一段字符串

    对于 Ruby 来说是全新的 这是一个简单的家庭作业 Secret code 函数需要接收输入字符串并执行以下操作 在空格之前的第一个字母块中 除第一个字符外的所有字母都大写 反转字符串 因此 如果输入是 super duper 则输出应该
  • 想要创建一个很酷的静态 UI,但是:“静态表视图仅有效......”

    我正在创建一个类似的视图 为此 我尝试使用 Storyboard 其中添加 2 个 TableView 均作为 静态单元格 然后直接从 Storyboard 手动添加单元格内容 在我的故事板中 它看起来很棒 但是当我构建时 我得到 en l
  • cv2可以直接加载上传的图片吗?

    我内存中有一个上传的文件 我想用 cv2 操作该文件 目前 我将文件写入磁盘 然后使用 cv2 读取它 如何跳过写入文件并直接使用 cv2 加载它 file request files file if file and allowed fi
  • 如何通过celery任务访问orm?

    我正在尝试使用 sqlalchemy celerybeats 翻转数据库中特定类型对象的布尔标志 但是如何从tasks py 文件访问我的orm from models import Book from celery decorators
  • JavaScript:将节点复制到 DocumentFragment

    我认为 DocumentFragment 的全部要点是能够在不接触 DOM 的情况下构造内容 直到它准备好为止 鉴于 DocumentFragment 不支持innerHTML 这可能有点乏味 另一方面 一旦构建完成 就可以很容易地通过片段
  • Ionic - 在 IOS 上,Stripe 支付按钮被键盘隐藏

    我的应用程序与 Stripe 集成用于支付目的 但我在 IOS 上遇到问题 人们无法支付 支付按钮悬停在键盘上方 没有像 Android 上那样的关闭按钮 我也无法成功地使弹出窗口滚动 我在用着定制集成 https stripe com d
  • 使用 pm2 以 root 身份启动应用程序

    我有一个守护进程 必须在启动时以 root 身份运行 我使用 pm2 启动其他应用程序 但无法确定它是否可以以 root 身份启动应用程序 能做到吗 如果没有 我有什么选择 我遇到了问题sudo pm2 start api 但这是因为 pm
  • 使用 docker for mac 在 docker 容器中公开 TTY 设备

    我正在尝试将插入我的 mac 的 Arduino 暴露给我正在运行的 Linux 实例适用于 Mac 的 Docker https docker github io docker for mac 没有虚拟机 Arduino 将自己暴露为 d
  • 为什么 SendKey Enter 无法在 Chrome 浏览器中使用

    我正在尝试检查在 Chrome 浏览器中输入 Excel 的几个 vin 此代码将打开浏览器并输入它们 但不会按 Enter 键来单击按钮 不知道我做错了什么 但我尝试了几种变体 但似乎想不出任何办法 抱歉 如果我的格式很糟糕 这是我第一次