首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >元素,使用Selenium VBA找不到

元素,使用Selenium VBA找不到
EN

Stack Overflow用户
提问于 2022-02-26 12:44:56
回答 1查看 752关注 0票数 0

我尝试使用VBA和Selenium为我的工作从excel自动输入数据。然而,我仍处于起步阶段。我遇到了一个问题,我想点击Reserve / Contact Guest,这样我就可以完成编写代码的下一步了。

我试过FindElementsByClass & FindElementsByCss & FindElementsById & FindElementsByXpath。但没有起作用。

这是我的代码:

代码语言:javascript
运行
复制
    Option Explicit
    Dim HJ As New WebDriver
    Sub Test()
    Dim keys As New SeleniumWrapper.keys
   
    HJ.Start "chrome"
    
    'link for webpage
    HJ.Get "http:// "
    
    'Full Screen
    HJ.Wait 1000
    HJ.Window.Maximize
    
    'Username
    HJ.Wait 1000
    HJ.FindElementById("ctl00_SplitterRoot_LoginContent_tbUserName_I").Click
    HJ.FindElementById("ctl00_SplitterRoot_LoginContent_tbUserName_I").SendKeys ("")
    
    'Password
    HJ.Wait 1000
    HJ.FindElementById("ctl00_SplitterRoot_LoginContent_tbPassword_I_CLND").Click
    HJ.FindElementById("ctl00_SplitterRoot_LoginContent_tbPassword_I").SendKeys ("")
    
    'Checkbox
    HJ.Wait 1000
    HJ.FindElementById("ctl00_SplitterRoot_LoginContent_chkKeepMeIn").Click
    
    'Log in
    HJ.Wait 1000
    HJ.FindElementById("ctl00_SplitterRoot_LoginContent_btnLogin_CD").Click
    
    'Only one page
    HJ.Wait 1000
    HJ.FindElementById("ctl00_SplitterRoot_chkPin_S_D").Click
    
    'CRM
    HJ.Wait 1000
    HJ.FindElementById("ctl00_SplitterRoot_RootContent_ASPxFormLayout_cmdModule7").Click
    
    'Reserve / Contact Guest (HERE THE PROBLEM With All My Tries)
    HJ.Wait 1000
    
    'HJ.FindElementByXPath("//*[@id='ctl00_contentSplitter_menuMain_I0i0_']").Click
    'HJ.FindElementById("ctl00_contentSplitter_menuMain_I0i0_").Click
    'Set CRMs =HJ.FindElementByClass("dxnb-item dxnb-link dxnb").Click
    'For Each CRM In CRMs
    ''Debug.Print CRM.Text
    'Next CRM
 'HJ.FindElementByXPath("/html/body/form/div[3]/table[1]/tbody/tr/td[1]/div/div/ul/li/ul/li[1]/span").Click
    'HJ.FindElementByCss("#ctl00_contentSplitter_menuMain_I0i0_ > span").Click
    'HJ.FindElementsByClass("ctl00_contentSplitter_menuMain_I0i0_")(1).Click
    'HJ.FindElementById("ctl00_contentSplitter_Maincontent_imAddNew").Click
   
    
    End Sub

我想点击预订/联系嘉宾:

这是网页:

在这里输入图像描述

EN

回答 1

Stack Overflow用户

发布于 2022-02-26 22:21:09

要将文本为https://stackoverflow.com/a/70077251/7429447的元素设置为Reserve / Contact Guest,您可以使用以下任何一个定位器策略

  • 使用FindElementByXPath和文本Reserve / Contact Guest: HJ.FindElementByXPath(“//span@class=‘dx’)并包含(.,‘备用/联系人’).Click
  • 使用FindElementByXPath和文本Reserve: HJ.FindElementByXPath("//span@class='dx-vam‘并以(.,’Reserve‘)开头“).Click
  • 使用FindElementByXPath和文本Contact Guest: HJ.FindElementByXPath(“//span@class=‘dx’)并包含(.,‘联系人’)”).Click

参考文献

您可以在以下网站找到几个相关的详细讨论:

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71276771

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档