vba - 带有可变谓词循环的 Selenium VBA XPath
问题描述
我希望对 Selenium VBA 中的语法有所帮助。
我正在尝试使用变量谓词“r”来抓取一些表日期来指定这样的行,但它不起作用。
当一个整数值代替谓词“r”时,代码确实有效[我认为谓词是环顾四周的正确词],所以我知道表达式正在找到正确的东西。
For r = 2 To 4
ThisWorkbook.Sheets("Orders").Cells(r, 1).Value = bot.FindElementByXPath("//*[@id='ctl00_mainContent_ucOrdersList_dgOrders']/tbody/tr[r]/td[2]").Text
Next r
似乎它应该是可能的。我找到了这个,但不确定它是什么语言或如何将其翻译成 Selenium VBA:
for (int i =1;i<rows.size();i++)
{
max= wd.findElement(By.xpath("html/body/div[1]/div[5]/table/tbody/tr[" + (i+1)+ "]/td[4]")).getText();
所以本质上我该如何
tr[" + (i+1)+ "]
在 Selenium VBA 中做这件事?
提前致谢。
解决方案
在你的循环中试试这个:
ThisWorkbook.Sheets("Orders").Cells(r, 1).Value = bot.FindElementByXPath("//*[@id='ctl00_mainContent_ucOrdersList_dgOrders']/tbody/tr[" & r & "]/td[2]").Text
使用 & 连接字符串。
这是关键位:"...tr[" & r & "]/td..."
有关在此处加入 vb 字符串的更多信息
对于 + 运算符,他们声明:
虽然原则上 + 符号与 & 连接运算符相同,但它也兼作加法运算符。因此,正如微软所说:
当您使用 + 运算符时,您可能无法确定是否会发生加法或字符串连接。使用 & 运算符进行连接以消除歧义并提供自记录代码。
推荐阅读
- css - 在 Firefox 中,页脚不会停留在底部
- r - 如何获得R中两个日期之间的计数?
- python - python中如何在index和sum的基础上做groupby
- java - 即使在调用 setSupportActionBar 后也看不到顶部工具栏
- python - Python/Pandas:从大型数据框中提取间隔
- java - 无法在 Android 中使用 apache poi 解密 excel 文件
- modulus - 向前或向后计算一周中某一天的最简单方法是什么?
- python-3.x - How to fix missing argument in decorator?
- swift - 快速从 ble 设备检索数据
- html - 使用ajax jquery创建动态菜单结构