excel vba - Selenium 查找元素

标签 excel selenium-webdriver xpath css-selectors linktext

我正在使用 Selenium 进行一些网页抓取。
当名称或 ID 不是选项时,我总是难以找到元素。
该页面是
https://www.portfolio123.com/holdings.jsp?portid=1637063
我正在尝试找到登录按钮。
元素看起来像:
enter image description here
我试过了

FindElementByClass("btn-primary btn-sm", 10000)

FindElementsByLinkText("Log In", 10000)

FindElementByXPath("//div[@class='btn btn-primary btn-sm']//[@href='javascript:void(goToLoginPage())")
但没有任何成功(我怀疑我需要使用 XPath,但我似乎无法正确
请问有什么帮助吗? (如果你能解释如何解决这个问题,那么我将来不会遇到真正感激的问题)

最佳答案

要定位元素登录,您可以使用以下任一 Locator Strategies :

  • 使用 FindElementByLinkText:
    FindElementByLinkText("Log In")
    
  • 使用 FindElementByCss:
    FindElementByCss("a[href*='goToLoginPage']")
    
  • 使用 FindElementByXPath:
    FindElementByXPath("//a[contains(@href, 'goToLoginPage')]")
    
  • 关于excel vba - Selenium 查找元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65857914/

    相关文章:

    excel - Azure Data Lake Excel 导出到 CSV 作为同一文件夹/路径

    excel - Interior.Color 属性反转颜色?

    Excel VBA 按钮

    java - 如何使用selenium切换到特定窗口

    html - 如何从 <span> 和 </span> 之间的 html 中检索数据

    Excel 运行时错误 "Unable to get the add property of the OLEObjects class"

    javascript - 尝试使用 PhantomJS 配置单击按钮时,JMeter Selenium Sampler 崩溃

    java - 无法在另一个中导入java包

    XSLT:深度子副本

    c# - 是否存在用于两个 XmlDocuments 的 .NET XPath 'diff' 命令?