有条件地检查VBA中的XPath是否正确

时间:2013-11-21 15:15:40

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

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...

1 个答案:

答案 0 :(得分:2)

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

如果元素不存在,您应该使用错误处理来运行代码。以下是一些帮助您指明正确方向的链接:

Example of this problem in Java

Example of error handling in VBA Excel