无法通过VBA使用硒在搜索框中输入值 [英] Unable to enter value in search box using selenium via VBA

查看:68
本文介绍了无法通过VBA使用硒在搜索框中输入值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我是通过VBA接触硒的新手,所以我试图通过登录网页导航并将数据提取到excel文件中来使过程自动化.问题是登录后我无法在搜索框中输入值. 这是我尝试过的代码

Hi I am new to selenium via VBA, so I am trying to automate a process by loging into a webpage navigate and get data extracted into the excel file. the problem is after login i am unable to input values in a search box. Here are the codes i have tried

bot.FindElementById("placeholder-3vgh2").SendKeys "AAA"
bot.FindElementByClass(".public-DraftStyleDefault-block.public-DraftStyleDefault-ltr").SendKeys "AAA"
bot.FindElementByClass("public-DraftStyleDefault-block public-DraftStyleDefault-ltr").SendKeys "AAA"
bot.FindElementByXPath("//*[@data-contents='true']").SendKeys "AAA"
bot.FindElementByXPath("//*[@class='public-DraftStyleDefault-block public-DraftStyleDefault-ltr']").SendKeys "AAA"
bot.FindElementByXPath("//*[@data-offset-key='dtaef-0-0'][2]").SendKeys "AAA"

这是HTML代码

<div class="db-World-topContent Box-root Box-background--surface Padding-vertical--20">
  <div class="Box-root Flex-flex Flex-alignItems--center Flex-justifyContent--spaceBetween">
    <div class="db-SearchField db-SearchField--tokenizable">
      <div class="db-SearchField-input db-SearchField-input--highlighted">
        <div class="DraftEditor-root">
          <div class="DraftEditor-editorContainer">
            <div aria-describedby="placeholder-3vgh2" class="notranslate public-DraftEditor-content" contenteditable="true" role="textbox" spellcheck="false" style="outline: none; user-select: text; white-space: pre-wrap; word-wrap: break-word;">
              <div data-contents="true">
                <div class="" data-block="true" data-editor="3vgh2" data-offset-key="dtaef-0-0">
                  <div data-offset-key="dtaef-0-0" class="public-DraftStyleDefault-block public-DraftStyleDefault-ltr"><span class="db-SearchField-token" data-offset-key="dtaef-0-0"><span data-offset-key="dtaef-0-0"><span data-text="true">is:</span></span>
                    </span>
                  </div>
                </div>
              </div>
            </div>
          </div>
        </div><span></span><span></span></div><span></span></div>
    <div class="Box-root">
      <div class="Box-root Flex-flex Flex-alignItems--center Flex-direction--row Flex-justifyContent--flexStart" style="margin-left: -12px;">
        <div class="Box-root Box-hideIfEmpty Margin-left--12"></div>
        <div class="Box-root Box-hideIfEmpty Margin-left--12">
          <div class="Box-root Padding-right--8">
            <div class="db-FeedbackInput-container Card-root Card-shadow--small">
              <div class="db-FeedbackInput-box Box-root Box-background--offset Padding-horizontal--8 Padding-vertical--4 Flex-flex Flex-alignItems--center">
                <div class="Box-root Margin-right--8 Flex-flex"><span class="db-FeedbackInput-defaultIcon"></span></div>
                <div class="TruncatedText" style="overflow: hidden; text-overflow: ellipsis; white-space: nowrap;"><span class="Text-color--gray400 Text-fontSize--14 Text-fontWeight--regular Text-lineHeight--20 Text-typeface--base Text-wrap--wrap Text-display--inline"><span>Feedback about this page?</span></span>
                </div>
              </div>
            </div>
          </div>
        </div>
        <div class="Box-root Box-hideIfEmpty Margin-left--12">
          <div>
            <div class="Box-root Flex-flex">
              <div class="Box-root Flex-flex"><button aria-label="Documentation" class="db-DocumentationMenu-root" tabindex="-1"></button></div>
            </div>
          </div>
        </div>
        <div class="Box-root Box-hideIfEmpty Margin-left--12">
          <div>
            <div class="Box-root Flex-flex">
              <div class="Box-root Flex-flex">
                <div tabindex="-1" style="outline: none;"><button aria-label="Notifications" class="db-Notifications-button"><span class="db-Notifications-icon db-Notifications-icon--empty"></span></button></div>
              </div>
            </div>
          </div>
        </div>
        <div class="Box-root Box-hideIfEmpty Margin-left--12">
          <div>
            <div class="Box-root Flex-flex">
              <div class="Box-root Flex-flex"><button class="bs-Button bs-DeprecatedButton db-UserMenu" aria-label="User menu" type="button" tabindex="-1"><div class="db-GravatarImage db-UserMenu-image db-GravatarImage--none"></div></button></div>
            </div>
          </div>
        </div>
      </div>
    </div>
  </div><span class="db-World-topContent--left"></span><span class="db-World-topContent--right"></span></div>

这是iframe的externalHTML:

Here is the outerHTML of iframe:

<iframe src="https://js.stripe.com/v2/m/outer.html#ping=false" style="width: 1px !important; height: 1px !important; position: absolute !important; left: -10000px !important; top: -1000px !important;"></iframe>

推荐答案

尝试以下调试会话:

bot.FindElementByCss(".notranslate.public-DraftEditor-content").SendKeys "AAA"

这篇关于无法通过VBA使用硒在搜索框中输入值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆