我一直在寻找一种检查网页日期的方法,如果有日期,那么我想继续循环,否则退出循环。我想尝试完成类似下面的事情(请原谅我的代码,我刚刚开始)。然而,这似乎不正确:
Dim DateToClick
DateToClick = today
For i = 1 To 3
'... some code ...
If Browser("somebrowser").Page("somepage").Frame("someframe").WebTable("sometable").DateToClick.Exists = True
Then
Browser("somebrowser").Page("somepage").Frame("someframe").WebTable("sometable").DateToClick.click
Else Exit For
'... some more code ...
End If
VB中是否有任何功能用于检查网页的值?任何帮助将不胜感激。
答案 0 :(得分:1)
在Web表中,您可以获取日期列的列和行号。 然后你可以使用。 对于Web表的列号间谍并检查属性"值" 在值中,您将获得所有列名称。尝试获取Date列的列号,然后使用下面的代码。
对于Iterator = 1到row_count
var_Date =浏览("")。页面("")。网表("")。GetCelldata(Iterator,colnum)
如果var_Date =""
退出 下一步
2)如果表格中没有值而不是页面本身可用,则使用下面的代码:
2.1)如果是WebEDit
var_Date =浏览("")。页面("")。Webedit("")。getRopProperty(" Value&#34 ;)
如果var_Date =""
退出
2.2)在代码
下面使用Web元素 var_Date= Browse("").Page("").WebElement("").getRopProperty("title")
if var_Date = ""
退出
请告诉我有关此事的更多信息。
答案 1 :(得分:0)
从您演示的代码中,您看起来好像在搜索WebTable
对象。通常,检查值是否出现在此类对象中的最简单方法是使用内置的GetRowWithCellText
方法。
myRow = Browser("").Page("").Frame("").WebTable("myTable").GetRowWithCellText("20/09/2016")
上面的代码会将myRow
设置为包含特定文本的第一行(在本例中为#34; 20/09 / 2016")。您可以使用此行来查询其余的表列,查找任何相关数据。由于您已指出要点击该项目(如果该项目),我猜测WebTable
包含链接。如果是这种情况,那么您只需设置一个对象引用,然后单击它,如下所示:
Set myLink = Browser("").Page("").Frame("").WebTable("myTable").ChildItem(myRow, myCol, "Link", 0)
myLink.Click
您需要将上例中的myCol
设置为日期显示的列号(从1开始编号)。这样做会创建一个对象,该对象指向由Link
和WebTable
描述的myRow
单元格中保存的myCol
类型的第一个对象,然后单击它。 / p>
如果您需要进一步澄清,或者这不是您需要的,请告诉我,我会尝试提供更多帮助。