Postcode = driver.findElementByXPath("//div[@id='T_F2']/fieldset/div[1]/div/div[4]/span[2]").Text
CopytoClip (Postcode)
Range("b" & X).PasteSpecial xlPasteAll
我的代码使用 XPath 从网站获取邮政编码,然后将其分配给变量。这个变量被传递到我的“复制到剪辑”子程序中,该子程序负责将值复制到我的计算机剪贴板中,然后再将其粘贴到 Excel 单元格中。然而问题是我的代码将针对不同的网页多次运行上述代码,其中一些网页在指定的 XPath 中没有邮政编码。
这会导致代码崩溃,所以我希望可以用 if 语句修复这个问题。我的问题是,我可以有条件地搜索指定的XPath是否存在于网页上吗?
类似...
If driver.findElementByXPath("...").DoesNotExist
Then
Run rest of code...
最佳答案
如果该元素不存在,则会抛出异常(或错误)。在 Java 和 C# 等语言中,异常是 NoSuchElementException。
您应该做的是使用错误处理来使您的代码在该元素不存在时运行。这里有几个链接可以帮助您指明正确的方向:
关于vba - 有条件地检查 VBA 中的 XPath 是否正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20124695/