无法使用vba从硒的下拉列表中进行选择 [英] Unable to select from dropdown in selenium using vba

查看:70
本文介绍了无法使用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. From what I have researched, first i have call the dropdown by click and then select the option.

下面是我的代码

Sub Praise()
Dim bot As New WebDriver
bot.Start "chrome"
bot.Get "https://dashboard.stripe.com/login"
bot.FindElementById("email").SendKeys ActiveCell.Value
bot.FindElementById("password").SendKeys ActiveCell.Offset(0, 1).Value
bot.FindElementByTag("form").submit
Application.Wait (Now + TimeValue("0:00:8"))
Set myelement = bot.FindElementByClass("bs-Link", Raise:=False)
If myelement Is Nothing Then
Else
bot.FindElementByClass("bs-Link").Click
End If
bot.FindElementByClass("db-AccountSwitcher-chevron").Click ' to call dropdown
bot.FindElementByClass("Text-color--white Text-fontSize--16 Text-fontWeight--medium Text-lineHeight--24 Text-typeface--base Text-wrap--wrap Text-display--inline").Click ' Error occurs in this line

End Sub

这是呼叫下拉菜单的代码

Here is the code to call dropdown

<div class="db-AccountSwitcher-button Box-root Flex-flex Flex-alignItems--center">
  <div class="Box-root Margin-right--8">
    <div class="db-AccountSwitcher-activeImage">
      <div class="db-AccountSwitcher-accountImage Box-root Box-background--white">
        <div class="db-AccountSwitcher-accountImage--content db-AccountSwitcher-accountImage--fallback"></div>
      </div>
    </div>
  </div>
  <div class="TruncatedText" style="overflow: hidden; text-overflow: ellipsis; white-space: nowrap;"><span class="Text-color--dark Text-fontSize--16 Text-fontWeight--medium Text-lineHeight--24 Text-typeface--base Text-wrap--noWrap Text-display--inline">Masorini.com</span></div>
  <div class="Box-root Margin-left--8">
    <div class="db-AccountSwitcher-chevron"></div>
  </div>
</div>

这是下拉列表的代码

<div class="ScrollableMenu SearchableList-items" id="searchable-list-results-47" role="listbox" style="max-height: 200px;">
  <div aria-selected="false" role="option">
    <div>
      <div class="Box-root Box-background--white Padding-horizontal--8 Padding-vertical--4 Flex-flex Flex-alignItems--center" style="cursor: pointer; user-select: none;">
        <div class="Box-root Margin-right--8">
          <div class="db-AccountSwitcher-accountImage Box-root Box-background--white">
            <div class="db-AccountSwitcher-accountImage--content db-AccountSwitcher-accountImage--fallback"></div>
          </div>
        </div>
        <div class="TruncatedText" style="overflow: hidden; text-overflow: ellipsis; white-space: nowrap;"><span class="Text-color--default Text-fontSize--16 Text-fontWeight--medium Text-lineHeight--24 Text-typeface--base Text-wrap--wrap Text-display--inline">Masorini.com</span></div>
      </div>
    </div>
  </div>
  <div aria-selected="false" role="option">
    <div>
      <div class="Box-root Box-background--white Padding-horizontal--8 Padding-vertical--4 Flex-flex Flex-alignItems--center" style="cursor: pointer; user-select: none;">
        <div class="Box-root Margin-right--8">
          <div class="db-AccountSwitcher-accountImage Box-root Box-background--white">
            <div class="db-AccountSwitcher-accountImage--content db-AccountSwitcher-accountImage--fallback"></div>
          </div>
        </div>
        <div class="TruncatedText" style="overflow: hidden; text-overflow: ellipsis; white-space: nowrap;"><span class="Text-color--default Text-fontSize--16 Text-fontWeight--medium Text-lineHeight--24 Text-typeface--base Text-wrap--wrap Text-display--inline">Ariavoss</span></div>
      </div>
    </div>
  </div>
  <div aria-selected="false" role="option">
    <div>
      <div class="Box-root Box-background--white Padding-horizontal--8 Padding-vertical--4 Flex-flex Flex-alignItems--center" style="cursor: pointer; user-select: none;">
        <div class="Box-root Margin-right--8">
          <div class="db-AccountSwitcher-accountImage Box-root Box-background--white">
            <div class="db-AccountSwitcher-accountImage--content db-AccountSwitcher-accountImage--fallback"></div>
          </div>
        </div>
        <div class="TruncatedText" style="overflow: hidden; text-overflow: ellipsis; white-space: nowrap;"><span class="Text-color--default Text-fontSize--16 Text-fontWeight--medium Text-lineHeight--24 Text-typeface--base Text-wrap--wrap Text-display--inline">Bikinimas</span></div>
      </div>
    </div>
  </div>
  <div aria-selected="false" role="option">
    <div>
      <div class="Box-root Box-background--white Padding-horizontal--8 Padding-vertical--4 Flex-flex Flex-alignItems--center" style="cursor: pointer; user-select: none;">
        <div class="Box-root Margin-right--8">
          <div class="db-AccountSwitcher-accountImage Box-root Box-background--white">
            <div class="db-AccountSwitcher-accountImage--content db-AccountSwitcher-accountImage--fallback"></div>
          </div>
        </div>
        <div class="TruncatedText" style="overflow: hidden; text-overflow: ellipsis; white-space: nowrap;"><span class="Text-color--default Text-fontSize--16 Text-fontWeight--medium Text-lineHeight--24 Text-typeface--base Text-wrap--wrap Text-display--inline">Diva Noche</span></div>
      </div>
    </div>
  </div>
  <div aria-selected="true" role="option">
    <div>
      <div class="Box-root Box-background--blue Padding-horizontal--8 Padding-vertical--4 Flex-flex Flex-alignItems--center" style="cursor: pointer; user-select: none;">
        <div class="Box-root Margin-right--8">
          <div class="db-AccountSwitcher-accountImage Box-root Box-background--white">
            <div class="db-AccountSwitcher-accountImage--content db-AccountSwitcher-accountImage--fallback"></div>
          </div>
        </div>
        <div class="TruncatedText" style="overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: rgb(255, 255, 255);"><span class="Text-color--white Text-fontSize--16 Text-fontWeight--medium Text-lineHeight--24 Text-typeface--base Text-wrap--wrap Text-display--inline">Bootyswim</span></div>
      </div>
    </div>
  </div>
  <div aria-selected="false" role="option">
    <div>
      <div class="Box-root Box-background--white Padding-horizontal--8 Padding-vertical--4 Flex-flex Flex-alignItems--center" style="cursor: pointer; user-select: none;">
        <div class="Box-root Margin-right--8">
          <div class="db-AccountSwitcher-accountImage Box-root Box-background--white">
            <div class="db-AccountSwitcher-accountImage--content db-AccountSwitcher-accountImage--fallback"></div>
          </div>
        </div>
        <div class="TruncatedText" style="overflow: hidden; text-overflow: ellipsis; white-space: nowrap;"><span class="Text-color--default Text-fontSize--16 Text-fontWeight--medium Text-lineHeight--24 Text-typeface--base Text-wrap--wrap Text-display--inline">Zainno</span></div>
      </div>
    </div>
  </div>
  <div aria-selected="false" role="option">
    <div>
      <div class="Box-root Box-background--white Padding-horizontal--8 Padding-vertical--4 Flex-flex Flex-alignItems--center" style="cursor: pointer; user-select: none;">
        <div class="Box-root Margin-right--8">
          <div class="db-AccountSwitcher-accountImage Box-root Box-background--white">
            <div class="db-AccountSwitcher-accountImage--content db-AccountSwitcher-accountImage--fallback"></div>
          </div>
        </div>
        <div class="TruncatedText" style="overflow: hidden; text-overflow: ellipsis; white-space: nowrap;"><span class="Text-color--default Text-fontSize--16 Text-fontWeight--medium Text-lineHeight--24 Text-typeface--base Text-wrap--wrap Text-display--inline">Actiwears</span></div>
      </div>
    </div>
  </div>
  <div aria-selected="false" role="option">
    <div>
      <div class="Box-root Box-background--white Padding-horizontal--8 Padding-vertical--4 Flex-flex Flex-alignItems--center" style="cursor: pointer; user-select: none;">
        <div class="Box-root Margin-right--8">
          <div class="db-AccountSwitcher-accountImage Box-root Box-background--white">
            <div class="db-AccountSwitcher-accountImage--content db-AccountSwitcher-accountImage--fallback"></div>
          </div>
        </div>
        <div class="TruncatedText" style="overflow: hidden; text-overflow: ellipsis; white-space: nowrap;"><span class="Text-color--default Text-fontSize--16 Text-fontWeight--medium Text-lineHeight--24 Text-typeface--base Text-wrap--wrap Text-display--inline">Rockactive</span></div>
      </div>
    </div>
  </div>
  <div aria-selected="false" role="option">
    <div>
      <div class="Box-root Box-background--white Padding-horizontal--8 Padding-vertical--4 Flex-flex Flex-alignItems--center" style="cursor: pointer; user-select: none;">
        <div class="Box-root Margin-right--8">
          <div class="db-AccountSwitcher-accountImage Box-root Box-background--white">
            <div class="db-AccountSwitcher-accountImage--content db-AccountSwitcher-accountImage--fallback"></div>
          </div>
        </div>
        <div class="TruncatedText" style="overflow: hidden; text-overflow: ellipsis; white-space: nowrap;"><span class="Text-color--default Text-fontSize--16 Text-fontWeight--medium Text-lineHeight--24 Text-typeface--base Text-wrap--wrap Text-display--inline">Cat Lovers</span></div>
      </div>
    </div>
  </div>
  <div aria-selected="false" role="option">
    <div>
      <div class="Box-root Box-background--white Padding-horizontal--8 Padding-vertical--4 Flex-flex Flex-alignItems--center" style="cursor: pointer; user-select: none;">
        <div class="Box-root Margin-right--8">
          <div class="db-AccountSwitcher-accountImage Box-root Box-background--white">
            <div class="db-AccountSwitcher-accountImage--content db-AccountSwitcher-accountImage--fallback"></div>
          </div>
        </div>
        <div class="TruncatedText" style="overflow: hidden; text-overflow: ellipsis; white-space: nowrap;"><span class="Text-color--default Text-fontSize--16 Text-fontWeight--medium Text-lineHeight--24 Text-typeface--base Text-wrap--wrap Text-display--inline">Chicnuit</span></div>
      </div>
    </div>
  </div>
  <div aria-selected="false" role="option">
    <div>
      <div class="Box-root Box-background--white Padding-horizontal--8 Padding-vertical--4 Flex-flex Flex-alignItems--center" style="cursor: pointer; user-select: none;">
        <div class="Box-root Margin-right--8">
          <div class="db-AccountSwitcher-accountImage Box-root Box-background--white">
            <div class="db-AccountSwitcher-accountImage--content db-AccountSwitcher-accountImage--fallback"></div>
          </div>
        </div>
        <div class="TruncatedText" style="overflow: hidden; text-overflow: ellipsis; white-space: nowrap;"><span class="Text-color--default Text-fontSize--16 Text-fontWeight--medium Text-lineHeight--24 Text-typeface--base Text-wrap--wrap Text-display--inline">Bootyswim</span></div>
      </div>
    </div>
  </div>
  <div aria-selected="false" role="option">
    <div>
      <div class="Box-root Box-background--white Padding-horizontal--8 Padding-vertical--4 Flex-flex Flex-alignItems--center" style="cursor: pointer; user-select: none;">
        <div class="Box-root Margin-right--8">
          <div class="db-AccountSwitcher-accountImage Box-root Box-background--white">
            <div class="db-AccountSwitcher-accountImage--content db-AccountSwitcher-accountImage--fallback"></div>
          </div>
        </div>
        <div class="TruncatedText" style="overflow: hidden; text-overflow: ellipsis; white-space: nowrap;"><span class="Text-color--default Text-fontSize--16 Text-fontWeight--medium Text-lineHeight--24 Text-typeface--base Text-wrap--wrap Text-display--inline">Diva Noche</span></div>
      </div>
    </div>
  </div>
  <div aria-selected="false" role="option">
    <div>
      <div class="Box-root Box-background--white Padding-horizontal--8 Padding-vertical--4 Flex-flex Flex-alignItems--center" style="cursor: pointer; user-select: none;">
        <div class="Box-root Margin-right--8">
          <div class="db-AccountSwitcher-accountImage Box-root Box-background--white">
            <div class="db-AccountSwitcher-accountImage--content db-AccountSwitcher-accountImage--fallback"></div>
          </div>
        </div>
        <div class="TruncatedText" style="overflow: hidden; text-overflow: ellipsis; white-space: nowrap;"><span class="Text-color--default Text-fontSize--16 Text-fontWeight--medium Text-lineHeight--24 Text-typeface--base Text-wrap--wrap Text-display--inline">Bikinimas</span></div>
      </div>
    </div>
  </div>
  <div aria-selected="false" role="option">
    <div>
      <div class="Box-root Box-background--white Padding-horizontal--8 Padding-vertical--4 Flex-flex Flex-alignItems--center" style="cursor: pointer; user-select: none;">
        <div class="Box-root Margin-right--8">
          <div class="db-AccountSwitcher-accountImage Box-root Box-background--white">
            <div class="db-AccountSwitcher-accountImage--content db-AccountSwitcher-accountImage--fallback"></div>
          </div>
        </div>
        <div class="TruncatedText" style="overflow: hidden; text-overflow: ellipsis; white-space: nowrap;"><span class="Text-color--default Text-fontSize--16 Text-fontWeight--medium Text-lineHeight--24 Text-typeface--base Text-wrap--wrap Text-display--inline">EpicDevil.co</span></div>
      </div>
    </div>
  </div>
  <div aria-selected="false" role="option">
    <div>
      <div class="Box-root Box-background--white Padding-horizontal--8 Padding-vertical--4 Flex-flex Flex-alignItems--center" style="cursor: pointer; user-select: none;">
        <div class="Box-root Margin-right--8">
          <div class="db-AccountSwitcher-accountImage Box-root Box-background--white">
            <div class="db-AccountSwitcher-accountImage--content db-AccountSwitcher-accountImage--fallback"></div>
          </div>
        </div>
        <div class="TruncatedText" style="overflow: hidden; text-overflow: ellipsis; white-space: nowrap;"><span class="Text-color--default Text-fontSize--16 Text-fontWeight--medium Text-lineHeight--24 Text-typeface--base Text-wrap--wrap Text-display--inline">probago.com</span></div>
      </div>
    </div>
  </div>
  <div aria-selected="false" role="option">
    <div>
      <div class="Box-root Box-background--white Padding-horizontal--8 Padding-vertical--4 Flex-flex Flex-alignItems--center" style="cursor: pointer; user-select: none;">
        <div class="Box-root Margin-right--8">
          <div class="db-AccountSwitcher-accountImage Box-root Box-background--white">
            <div class="db-AccountSwitcher-accountImage--content db-AccountSwitcher-accountImage--fallback"></div>
          </div>
        </div>
        <div class="TruncatedText" style="overflow: hidden; text-overflow: ellipsis; white-space: nowrap;"><span class="Text-color--default Text-fontSize--16 Text-fontWeight--medium Text-lineHeight--24 Text-typeface--base Text-wrap--wrap Text-display--inline">Activepose</span></div>
      </div>
    </div>
  </div>
  <div aria-selected="false" role="option">
    <div>
      <div class="Box-root Box-background--white Padding-horizontal--8 Padding-vertical--4 Flex-flex Flex-alignItems--center" style="cursor: pointer; user-select: none;">
        <div class="Box-root Margin-right--8">
          <div class="db-AccountSwitcher-accountImage Box-root Box-background--white">
            <div class="db-AccountSwitcher-accountImage--content db-AccountSwitcher-accountImage--fallback"></div>
          </div>
        </div>
        <div class="TruncatedText" style="overflow: hidden; text-overflow: ellipsis; white-space: nowrap;"><span class="Text-color--default Text-fontSize--16 Text-fontWeight--medium Text-lineHeight--24 Text-typeface--base Text-wrap--wrap Text-display--inline">SiaRose.com</span></div>
      </div>
    </div>
  </div>
  <div aria-selected="false" role="option">
    <div>
      <div class="Box-root Box-background--white Padding-horizontal--8 Padding-vertical--4 Flex-flex Flex-alignItems--center" style="cursor: pointer; user-select: none;">
        <div class="Box-root Margin-right--8">
          <div class="db-AccountSwitcher-accountImage Box-root Box-background--white">
            <div class="db-AccountSwitcher-accountImage--content db-AccountSwitcher-accountImage--fallback"></div>
          </div>
        </div>
        <div class="TruncatedText" style="overflow: hidden; text-overflow: ellipsis; white-space: nowrap;"><span class="Text-color--default Text-fontSize--16 Text-fontWeight--medium Text-lineHeight--24 Text-typeface--base Text-wrap--wrap Text-display--inline">Sunvoss</span></div>
      </div>
    </div>
  </div>
  <div aria-selected="false" role="option">
    <div>
      <div class="Box-root Box-background--white Padding-horizontal--8 Padding-vertical--4 Flex-flex Flex-alignItems--center" style="cursor: pointer; user-select: none;">
        <div class="Box-root Margin-right--8">
          <div class="db-AccountSwitcher-accountImage Box-root Box-background--white">
            <div class="db-AccountSwitcher-accountImage--content db-AccountSwitcher-accountImage--fallback"></div>
          </div>
        </div>
        <div class="TruncatedText" style="overflow: hidden; text-overflow: ellipsis; white-space: nowrap;"><span class="Text-color--default Text-fontSize--16 Text-fontWeight--medium Text-lineHeight--24 Text-typeface--base Text-wrap--wrap Text-display--inline">Mosselli</span></div>
      </div>
    </div>
  </div>
  <div aria-selected="false" role="option">
    <div>
      <div class="Box-root Box-background--white Padding-horizontal--8 Padding-vertical--4 Flex-flex Flex-alignItems--center" style="cursor: pointer; user-select: none;">
        <div class="Box-root Margin-right--8">
          <div class="db-AccountSwitcher-accountImage Box-root Box-background--white">
            <div class="db-AccountSwitcher-accountImage--content db-AccountSwitcher-accountImage--fallback"></div>
          </div>
        </div>
        <div class="TruncatedText" style="overflow: hidden; text-overflow: ellipsis; white-space: nowrap;"><span class="Text-color--default Text-fontSize--16 Text-fontWeight--medium Text-lineHeight--24 Text-typeface--base Text-wrap--wrap Text-display--inline">Aroabikini</span></div>
      </div>
    </div>
  </div>
  <div aria-selected="false" role="option">
    <div>
      <div class="Box-root Box-background--white Padding-horizontal--8 Padding-vertical--4 Flex-flex Flex-alignItems--center" style="cursor: pointer; user-select: none;">
        <div class="Box-root Margin-right--8">
          <div class="db-AccountSwitcher-accountImage Box-root Box-background--white">
            <div class="db-AccountSwitcher-accountImage--content db-AccountSwitcher-accountImage--fallback"></div>
          </div>
        </div>
        <div class="TruncatedText" style="overflow: hidden; text-overflow: ellipsis; white-space: nowrap;"><span class="Text-color--default Text-fontSize--16 Text-fontWeight--medium Text-lineHeight--24 Text-typeface--base Text-wrap--wrap Text-display--inline">Swimlemon</span></div>
      </div>
    </div>
  </div>
  <div aria-selected="false" role="option">
    <div>
      <div class="Box-root Box-background--white Padding-horizontal--8 Padding-vertical--4 Flex-flex Flex-alignItems--center" style="cursor: pointer; user-select: none;">
        <div class="Box-root Margin-right--8">
          <div class="db-AccountSwitcher-accountImage Box-root Box-background--white">
            <div class="db-AccountSwitcher-accountImage--content db-AccountSwitcher-accountImage--fallback"></div>
          </div>
        </div>
        <div class="TruncatedText" style="overflow: hidden; text-overflow: ellipsis; white-space: nowrap;"><span class="Text-color--default Text-fontSize--16 Text-fontWeight--medium Text-lineHeight--24 Text-typeface--base Text-wrap--wrap Text-display--inline">milewatches</span></div>
      </div>
    </div>
  </div>
  <div aria-selected="false" role="option">
    <div>
      <div class="Box-root Box-background--white Padding-horizontal--8 Padding-vertical--4 Flex-flex Flex-alignItems--center" style="cursor: pointer; user-select: none;">
        <div class="Box-root Margin-right--8">
          <div class="db-AccountSwitcher-accountImage Box-root Box-background--white">
            <div class="db-AccountSwitcher-accountImage--content db-AccountSwitcher-accountImage--fallback"></div>
          </div>
        </div>
        <div class="TruncatedText" style="overflow: hidden; text-overflow: ellipsis; white-space: nowrap;"><span class="Text-color--default Text-fontSize--16 Text-fontWeight--medium Text-lineHeight--24 Text-typeface--base Text-wrap--wrap Text-display--inline">stripe-northwrist@massiveshops.com</span></div>
      </div>
    </div>
  </div>
  <div aria-selected="false" role="option">
    <div>
      <div class="Box-root Box-background--white Padding-horizontal--8 Padding-vertical--4 Flex-flex Flex-alignItems--center" style="cursor: pointer; user-select: none;">
        <div class="Box-root Margin-right--8">
          <div class="db-AccountSwitcher-accountImage Box-root Box-background--white">
            <div class="db-AccountSwitcher-accountImage--content db-AccountSwitcher-accountImage--newAccount"></div>
          </div>
        </div>
        <div class="TruncatedText" style="overflow: hidden; text-overflow: ellipsis; white-space: nowrap;"><span class="Text-color--default Text-fontSize--16 Text-fontWeight--medium Text-lineHeight--24 Text-typeface--base Text-wrap--wrap Text-display--inline">New account</span></div>
      </div>
    </div>
  </div>
</div>

这是错误代码

推荐答案

对此我不确定单击部分,但是您需要从类名中删除空格以消除该错误

I am not sure about the click part for this but you need to remove spaces from the class name to get rid of that error

bot.FindElementByCss(".Text-color--white.Text-fontSize--16.Text-fontWeight--medium.Text-lineHeight--24.Text-typeface--base.Text-wrap--wrap.Text-display--inline").Click 

Bootyswim

如果点击有效,那么您还应该可以使用:

If click works then you should also be able to use:

bot.FindElementByXPath("//*[@role='option'][5]").Click

然后您将[5]更改为其他选项.

Then you change the [5] for your other options.

此处并选择其他选项.

这篇关于无法使用vba从硒的下拉列表中进行选择的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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