如何使用visual basic脚本检查网页上是否存在值

时间:2016-09-19 15:05:44

标签: vbscript hp-uft

我一直在寻找一种检查网页日期的方法,如果有日期,那么我想继续循环,否则退出循环。我想尝试完成类似下面的事情(请原谅我的代码,我刚刚开始)。然而,这似乎不正确:

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中是否有任何功能用于检查网页的值?任何帮助将不胜感激。

2 个答案:

答案 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开始编号)。这样做会创建一个对象,该对象指向由LinkWebTable描述的myRow单元格中保存的myCol类型的第一个对象,然后单击它。 / p>

如果您需要进一步澄清,或者这不是您需要的,请告诉我,我会尝试提供更多帮助。