How to perform the Pressing of Enter Action in QTP. I'm selecting a cell and able to set a value ,now I want to press enter key and get the list from that Java Edit box. Which are the different ways I can achieve this?
Use mentioned above Type method: YourObject.Type micReturn
Use SendKeys method:
Function SendKeys(sKey)
Set WshShell = CreateObject("WScript.Shell")
WshShell.AppActivate "Your browser" ' You may need to activate your browser first
WshShell.SendKeys sKey
wait(1) ' You may need to add some Wait statements around
End Function
In your case it will be
SendKeys "{ENTER}"
See MSDN SendKeys and MSDN AppActivate for more details.
You can either send key (micEnter) through .Type() method of the object or use FireEvent to invoke an event handler directly.
Set WshShell = CreateObject("WScript.Shell")
WshShell.AppActivate
WshShell.SendKeys (ENTER) '--------parenthesis
Related
I want to create a VBScript script to detect Internet Explorer opening page and opening new tab in the same window. For example, when I manually open Internet Explorer at www.google.com the VBScript will do:
detect and open new tab in same window with www.example.com
but do this only once
I tried with this code:
Set wshShell = CreateObject("WScript.Shell")
Do
page1 = wshShell.AppActivate("Blank page - Internet Explorer")
If page1 = True Then
Set page2 = CreateObject("InternetExplorer.Application")
page2.Navigate "http://www.example.com", CLng(navOpenInNewTab)
End If
WScript.Sleep 500
Loop
For one thing, you must use the existing Internet Explorer instance instead of creating a new one. Unfortunately the way one might expect to be able to do that (GetObject(, "InternetExplorer.Application")) does not work for Internet Explorer COM objects. AppActivate also doesn't help here, because it doesn't return a handle to the application object, which you need to invoke its methods. Instead you need to do it this way:
Set app = CreateObject("Shell.Application")
For Each wnd In app.Windows
If InStr(1, wnd.FullName, "iexplore.exe", vbTextCompare) > 0 Then
Set ie = wnd
Exit For
End If
Next
If you want to select an instance that has a particular page opened, you can for instance check the title of that page to make the selection:
wnd.Document.Title = "something"
or
InStr(1, wnd.Document.Title, "something", vbTextCompare) > 0
Your second problem is that VBScript doesn't recognize the symbolic constant navOpenInNewTab. You must either use the numeric value (as defined in the BrowserNavConstants enumeration):
ie.Navigate "http://www.example.com", CLng(2048)
or define the constant yourself first:
Const navOpenInNewTab = &h0800&
ie.Navigate "http://www.example.com", navOpenInNewTab
Note that you must use hexadecimal notation with a trailing ampersand here, because the value must be a Long and you must use literals in Const definitions. Expressions like calling the function CLng are not valid.
Alternatively you can open a URL in a new tab by omitting the second parameter of the Navigate method entirely and instead providing the value "_blank" for the third parameter:
ie.Navigate "http://www.example.com", , "_blank"
However, I'm not certain that this would always open a new tab in the current window (might depend on the browser's tab settings), so I'd recommend using the second parameter (flags) as described above.
So I have a really annoying set of forms at work that I have to fill out daily and spend about 20 minutes doing so, I was looking to script this and have a basic sendkeys method that works but I wanted to improve this.
Dim WshShell, objIE, ElementCol
Dim LinkHref
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.AppActivate "Webpage Title"
Set objIE = CreateObject("InternetExplorer.Application")
wshShell.AppActivate objIE
Do While objIE.Busy
wscript.sleep 100
Loop
Set ElementCol = objIE.document.getElementsByTagName("a")
For Each Link In ElementCol
If Link.innerHTML = "*Specfic text" Then
Link.Click
Exit For
End If
Next
So I get an error on the Set ElementCol line that says null thats my first issue
For the *specific text is this allowed? Basically I know the text of the links will be Hello and world but could pop in like 1) Hello and 2) World or 1) World 2) Hello
I also want to after the click run a different .vbs script that fills out the form after that .vbs script completes it returns back to this initial page where I want to continue on this script to the next link.
Thanks a ton for any help!
I want to generate an event on keyboard button press. On that event, the running vbscript should be closed. I don't want to add any other scripting lanuguage. If anyone has an idea how to do this, please help me.
Here is my code so far:
Set objShell = CreateObject("WScript.Shell")
If(objShell.SendKeys ("{Esc}") == "1")Then
WScript.echo "del pressedd"
End If
This isn't possible in plain VBScript. The best you could do is to periodically query the user. Eg:
Do
' lots of code here...
Loop While MsgBox("Keep going?", vbOKCancel) = vbOK
I am trying to run a vbscript that will load up a html page in chrome and then do control+a which will select everything on the page, with the ultimate view to copy it and then paste it into excel.
this my script so far:
Set WshShell = WScript.CreateObject("WScript.Shell")
Dim iURL
Dim objShell
iURL = "C:\Users\Aasfasf\AppData\Local\Temp\TD_80\hpqc\52136023e30\****\121200.html"
set objShell = CreateObject("WScript.Shell")
objShell.run(iURL)
WScript.Sleep 1500
WshShell.SendKeys "^a"
when I run it loads up the html page, but i dont think the control+a command is working as nothing is selected.
Two suggestions:
The focus is probably not on the content in chrome. Try sending a Tab key press a couple of times first to see if that fixes it.
A better approach to this might be to just read the contents of the file, then delete all the markup from the document using regex.
Excel can just load your web page without needing any help from you.
Alt + D, D, W
I have Web form and when I fill in fields with Vb-script i get popup message box OK/Cancel.
I can not get my script to click on that OK button. Anyone has solution?
Set IE = Createobject("InternetExplorer.Application")
IE.Navigate "*******/page"
IE.Visible = True
Wscript.Sleep 500
IE.Document.All.Item("user").Value = "username"
IE.Document.All.Item("pass").Value = "password"
IE.Document.All.Item("submit").Click ' ******here popup window appears
Wscript.Sleep 500
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.SendKeys "{ENTER}" ' ******this does not execute
I had the same problem, so I wrote a second script with the soul purpose of sending "ENTER" after a delay of 1 second (or whatever) and execute this file right before you "Click" Submit.
it's a very ugly workaround, but it works. so it'll have to do until I find a better selution