Posts: 1
Threads: 1
Joined: Aug 2013
Reputation:
0
08-15-2013, 02:06 AM
(This post was last modified: 08-15-2013, 02:35 AM by fridlek.)
I am having some difficulty trying to automate clicking a WebElement that resides within a WebTable.
I have no problems being able to find the row and column with the webtable that contains the value I wish to click on. The problem is the clicking part....
Below is my code for finding the row and column within the WebTable. The problem is with using ChildItem(iRow, iCol, "WebElement", 0). It doesn't want to return a value. It keeps giving me a Object Error.
ANy help would be appreciated!
Thanks!
Code: row_count=Browser("title:= Supplier T-File Tracking.*").Page("title:= Supplier T-File Tracking.*").WebTable("html id:= tfiletable").RowCount
col_count=Browser("title:= Supplier T-File Tracking.*").Page("title:= Supplier T-File Tracking.*").WebTable("html id:= tfiletable").ColumnCount(row_count)
For iRow = 1 to row_count
For iCol = 1 to col_count
iReturn = Browser("title:= Supplier T-File Tracking.*").Page("title:=Supplier T-File Tracking.*").WebTable("html id:= tfiletable").ChildItemCount(iRow,iCol,"WebElement")
strReturn = Browser("title:= Supplier T-File Tracking.*").Page("title:= Supplier T-File Tracking.*").WebTable("html id:= tfiletable").GetCellData(iRow,iCol)
Print "This is the cell data: " & strReturn
If strReturn = "READY FOR T-FILE FOCAL" Then
MsgBox "I found the cell numbers: " & " Row: " & iRow & " Column: " & iCol
nCnt = Browser("title:= Supplier T-File Tracking.*").Page("title:= Supplier T-File Tracking.*").WebTable("html id:= tfiletable").ChildItemCount(iRow, iCol, "WebElement")
Browser("title:= Supplier T-File Tracking.*").Page("title:= Supplier
End If
If iReturn > 0 Then
Print "This is row: " & iRow & " and column: " & iCol & " ChildItems = " & iReturn
End If
Next
Next
I'm guessing it's because the ChildItemCount value = 0 is why the Object Error appears when I try to do this with the object:
Code: iChildCnt = Browser("title:= Supplier T-File Tracking.*").Page("title:= Supplier T-File Tracking.*").WebTable("html id:= tfiletable").ChildItemCount(intRow, intColumn, "WebElement")
Set oPartNumberLink = Browser("title:= Supplier T-File Tracking.*").Page("title:= Supplier T-File Tracking.*").WebTable("html id:= tfiletable").ChildItem(intRow, intColumn, "WebElement", 0)
oPartNumberLink.Highlight
I guess I don't understand why ChildItem Count is returning 0 when I know for a fact that is the cell row and column of the value I want.
Posts: 33
Threads: 2
Joined: Oct 2008
Reputation:
0
11-07-2013, 07:25 PM
fridlek:
I have been playing with dp and webtables recently and I believe the problem is you should be using "Link" instead of "WebElement".
I have come to the conclusion that every cell in a webtable is a webelement. If we need to do something useful such as click on a link, edit a field, check a webcheckbox, then childitem count is greater than 0 and the count for webelement for that cell is > 0.
Try running the code below and you will see what I mean.
Code: ''// http://qaautomationqtp.blogspot.com/2013/07/examples-of-working-with-webtable-in-qtp.html
Public Function func_findObjectinaWebTable(strMicclass,intRow,intCol)
''// This does not work with WebElement, the count is always zero
strmicclass = trim(strMicclass)
'print BrowserName & ": " & tableName
objChildCnt=Browser("name:="&browserName).Page("title:="&pageTitle).WebTable("name:="&tableName).ChildItemCount(CInt(introw),CInt(intcol),strMicclass)
print "cnt = " & objChildCnt
If objChildCnt >0 then
print "objChildCnt = " & objChildCnt
print "row " & introw & ", col, " & intcol & ", Micclass " & strMicclass
End if
End Function
' If any web objects are missing, add them to the array
webObjects_arr = array("Link", "WebButton", "WebCheckBox", "WebEdit","WebElement", "WebTable", "Image", "WebList", "WebRadio", "WebRadioGroup")
' the table I used had 5 rows and 5 columns
For numRow = 1 to 5
For numCol = 1 to 5
For i = 0 to ubound(webObjects_arr)
strMicclass = webObjects_arr(i)
Call func_findObjectinaWebTable(strMicclass,numRow,numCol)
Next
Next ''// numCol
Next ''// numRow
I have not played with the last five items in the array.
I am hoping that someone who knows more than I do can explain why cells with an ID of 578912 or FirstName of Paul are not recognized as a webelement when we attempt to perform a count.
hth,
Parke
Posts: 1
Threads: 0
Joined: Nov 2013
Reputation:
0
11-19-2013, 11:07 PM
Hi Fridlek,
Am not getting what u are asking? Could you please little elaborate the question as whether you are trying to click a link identified as webelement or trying to click on a text?
ensure that some method is used at the end of the statement like any fireevent is used if you are working on the text.
If you are trying to click on the weblink identified as webelement, please use childitem(iRow,iCol,"link",0).click
regards,
Prabhu
Posts: 10
Threads: 0
Joined: Aug 2015
Reputation:
0
03-23-2016, 12:35 PM
Hi,
I am facing an issue in clicking the Webelement present in Webtable . Below is the line of code
Browser("Browser").Page("Page").Frame("Frame").WebTable("WebTable"). ChildItem(1,5, "WebElement",0)
But I am getting Object Required error. When tried spying the webelement and adding into OR (after browser, page there are multiple Webtables and then last we had WebElement . So we have captured the last Webtable into OR).
Even though the object is added in OR, but still I am getting this error.
Can someone please help me in this regard.
Regards,
Swetha
Posts: 323
Threads: 8
Joined: Nov 2011
Reputation:
4
03-23-2016, 06:23 PM
can you send the screenshot of that so i can send you the script
Posts: 1
Threads: 0
Joined: Apr 2016
Reputation:
0
04-07-2016, 05:26 AM
(03-23-2016, 12:35 PM)Swetha_Bayya Wrote: Hi,
I am facing an issue in clicking the Webelement present in Webtable . Below is the line of code
Browser("Browser").Page("Page").Frame("Frame").WebTable("WebTable"). ChildItem(1,5, "WebElement",0)
But I am getting Object Required error. When tried spying the webelement and adding into OR (after browser, page there are multiple Webtables and then last we had WebElement . So we have captured the last Webtable into OR).
Even though the object is added in OR, but still I am getting this error.
Can someone please help me in this regard.
Regards,
Swetha
HI Swetha,
I have similar issue.could you please let me know if you find solution.
my code is clicking on first column
a=Browser("Browser").Page("Page").Frame("Frame").WebTable("WebTable"). ChildItem(1,1, "WebElement",0)
a.click
but if I want to click on 2nd or 3d column ,I am not able to
a=Browser("Browser").Page("Page").Frame("Frame").WebTable("WebTable"). ChildItem(1,2, "WebElement",0)
a.click
Please advise.
Posts: 323
Threads: 8
Joined: Nov 2011
Reputation:
4
04-09-2016, 03:15 PM
(This post was last modified: 04-09-2016, 03:24 PM by vinod123.)
Code: For iRow = 1 to iRows
For iCol = 1 to iCols
sData = Browser("Browser").Page("Page").Frame("Frame").WebTable("WebTable").GetCellData(iRow, iCol)
If InStr(1, sData, ExpectedValue) Then
sData.Click
End If
Next
Next
try this code for clicking the webelements
Posts: 1
Threads: 0
Joined: Nov 2016
Reputation:
0
11-10-2016, 02:57 PM
(08-15-2013, 02:06 AM)fridlek Wrote: I am having some difficulty trying to automate clicking a WebElement that resides within a WebTable.
I have no problems being able to find the row and column with the webtable that contains the value I wish to click on. The problem is the clicking part....
Below is my code for finding the row and column within the WebTable. The problem is with using ChildItem(iRow, iCol, "WebElement", 0). It doesn't want to return a value. It keeps giving me a Object Error.
ANy help would be appreciated!
Thanks!
Code: row_count=Browser("title:= Supplier T-File Tracking.*").Page("title:= Supplier T-File Tracking.*").WebTable("html id:= tfiletable").RowCount
col_count=Browser("title:= Supplier T-File Tracking.*").Page("title:= Supplier T-File Tracking.*").WebTable("html id:= tfiletable").ColumnCount(row_count)
For iRow = 1 to row_count
For iCol = 1 to col_count
iReturn = Browser("title:= Supplier T-File Tracking.*").Page("title:=Supplier T-File Tracking.*").WebTable("html id:= tfiletable").ChildItemCount(iRow,iCol,"WebElement")
strReturn = Browser("title:= Supplier T-File Tracking.*").Page("title:= Supplier T-File Tracking.*").WebTable("html id:= tfiletable").GetCellData(iRow,iCol)
Print "This is the cell data: " & strReturn
If strReturn = "READY FOR T-FILE FOCAL" Then
MsgBox "I found the cell numbers: " & " Row: " & iRow & " Column: " & iCol
nCnt = Browser("title:= Supplier T-File Tracking.*").Page("title:= Supplier T-File Tracking.*").WebTable("html id:= tfiletable").ChildItemCount(iRow, iCol, "WebElement")
Browser("title:= Supplier T-File Tracking.*").Page("title:= Supplier
End If
If iReturn > 0 Then
Print "This is row: " & iRow & " and column: " & iCol & " ChildItems = " & iReturn
End If
Next
Next
I'm guessing it's because the ChildItemCount value = 0 is why the Object Error appears when I try to do this with the object:
Code: iChildCnt = Browser("title:= Supplier T-File Tracking.*").Page("title:= Supplier T-File Tracking.*").WebTable("html id:= tfiletable").ChildItemCount(intRow, intColumn, "WebElement")
Set oPartNumberLink = Browser("title:= Supplier T-File Tracking.*").Page("title:= Supplier T-File Tracking.*").WebTable("html id:= tfiletable").ChildItem(intRow, intColumn, "WebElement", 0)
oPartNumberLink.Highlight
I guess I don't understand why ChildItem Count is returning 0 when I know for a fact that is the cell row and column of the value I want.
Hi fridlek,
Please try the below way.
Browser("title:= Supplier T-File Tracking.*").Page("title:= Supplier T-File Tracking.*").WebTable("html id:= tfiletable").ChildItemCount(intRow, intColumn, "WebElement").Click
This should definitely work.
Thanks,
Nandana
Posts: 57
Threads: 13
Joined: Feb 2014
Reputation:
0
01-10-2017, 03:46 PM
(03-23-2016, 12:35 PM)Swetha_Bayya Wrote: Hi,
I am facing an issue in clicking the Webelement present in Webtable . Below is the line of code
Browser("Browser").Page("Page").Frame("Frame").WebTable("WebTable"). ChildItem(1,5, "WebElement",0)
But I am getting Object Required error. When tried spying the webelement and adding into OR (after browser, page there are multiple Webtables and then last we had WebElement . So we have captured the last Webtable into OR).
Even though the object is added in OR, but still I am getting this error.
Can someone please help me in this regard.
Regards,
Swetha
Try to change the index value to 1 or 2 and make a debug run..
|