【问题标题】:Conditionally checking if an XPath is correct in VBA有条件地检查 XPath 在 VBA 中是否正确
【发布时间】:2013-11-21 15:15:40
【问题描述】:
Postcode = driver.findElementByXPath("//div[@id='T_F2']/fieldset/div[1]/div/div[4]/span[2]").Text

CopytoClip (Postcode)

Range("b" & X).PasteSpecial xlPasteAll

我的代码使用 XPath 从网站获取邮政编码,然后将其分配给变量。这个变量被传递到我的 Copy to Clip 子上,该子处理将值复制到我的计算机剪贴板中,然后再将其粘贴到 Excel 单元格中。但问题是我的代码会针对不同的网页多次运行上述代码,其中一些在指定的 XPath 中没有邮政编码。

这会导致代码崩溃,所以我希望我可以用 if 语句解决这个问题。我的问题是,我可以有条件地搜索网页上是否存在指定的 XPath 吗?

类似...

If driver.findElementByXPath("...").DoesNotExist

Then

   Run rest of code...

【问题讨论】:

    标签: vba excel if-statement xpath selenium-webdriver


    【解决方案1】:

    如果元素不存在,则会抛出异常(或错误)。在 Java 和 C# 等语言中,异常是 NoSuchElementException。

    如果元素不存在,您应该做的是使用错误处理使您的代码运行。这里有几个链接可以帮助您指明正确的方向:

    Example of this problem in Java

    Example of error handling in VBA Excel

    【讨论】:

      猜你喜欢
      • 2022-01-24
      • 1970-01-01
      • 2019-10-31
      • 1970-01-01
      • 1970-01-01
      • 2018-08-22
      • 1970-01-01
      • 2013-04-27
      • 2018-04-21
      相关资源
      最近更新 更多