如何用Selenium VBA通过部分href/URL定位Web元素
用Selenium VBA通过部分URL定位Web元素
如果你只知道URL的开头部分,没法用精确匹配的XPath定位元素,可以用XPath的starts-with()函数实现模糊匹配,它会匹配href属性以指定字符串开头的元素。
具体实现代码
' 初始化Chrome驱动(需提前引用Selenium库) Dim driver As New ChromeDriver driver.Get "目标页面的完整URL" ' 定义已知的URL开头部分 Dim partialUrl As String partialUrl = "www.website.com/nameofwebpage" ' 定位符合条件的<a>元素 Dim targetElement As WebElement Set targetElement = driver.FindElementByXPath("//a[starts-with(@href, '" & partialUrl & "')]")
补充说明
- 如果需要匹配包含指定字符串的URL(不限开头位置),可以把
starts-with()换成contains(),XPath表达式改为://a[contains(@href, '" & partialUrl & "')] - VBA中字符串拼接要注意引号转义,代码里用
'" & partialUrl & "'来将变量嵌入XPath表达式中
内容的提问来源于stack exchange,提问作者Remco
相关产品推荐
相关产品推荐

