Невозможно ввести значение в поле поиска, используя селен через VBA - PullRequest
0 голосов
/ 07 сентября 2018

Привет, я новичок в селене с помощью VBA, поэтому я пытаюсь автоматизировать процесс, войдя в веб-страницу навигации и получая данные, извлеченные в файл Excel.проблема в том, что после входа я не могу ввести значения в поле поиска.Вот коды, которые я пробовал

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>

Вот внешний HTML-код 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>

1 Ответ

0 голосов
/ 07 сентября 2018

Попробуйте, следуя нашему сеансу отладки:

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