WebExecute
WebExecute[cmd]
executes the command cmd in a web browser.
WebExecute[{cmd1,cmd2,…}]
executes a list of commands in sequence.
WebExecute[session,cmds]
executes cmds in the specified web session.
Details
- WebExecute executes commands in a web browser through a web driver.
- If a web session has been started with StartWebSession, WebExecute[cmds] executes commands in that session, as specified by $CurrentWebSession.
- If no web session has been started, WebExecute[cmds] starts a web session, executes cmds, then ends the web session.
- WebExecute[cmd] returns either the output of the command or a Success or Failure object.
- WebExecute[{cmd1,cmd2,…}] returns a list of the results for the cmdi.
- Commands in WebExecute are typically specified in the following forms:
-
"cmd" a command without arguments "cmd" arg a command with one argument "cmd"{arg1,arg2,…} a command with multiple arguments - WebExecute supports the following commands related to complete webpages:
-
"OpenPage"url open the specified webpage "PageURL" get the URL of the current webpage "PageTitle" get the title of the current webpage "PageBack" go to the previous webpage "PageForward" go to the next webpage "RefreshPage" refresh the current webpage "PageHyperlinks" get the list of hyperlinks on the current webpage "CapturePage" capture an image of the current webpage - WebExecute supports the following commands related to elements of webpages:
-
"LocateElements"elem give the list of elements on a webpage matching elem "ClickElement"elem click an element on a webpage (e.g. a hyperlink) "HoverElement"elem hover over an element on a webpage "TypeElement"{elem,"text"} type text into an element on a webpage (e.g. an input field) "SubmitElement"elem submit a form using the specified element (e.g. a button) "ElementSelected"elem whether an element is selected "ElementEnabled"elem whether an element is enabled "ElementTag"elem the HTML tag for the element "ElementText"elem the text, if any, associated with an element "ElementAttribute"{elem,"attr"} an attribute of an element "HideElement"elem make an element invisible "ShowElement"elem make an element visible - Elements of webpages can be specified in any of the following forms:
-
WebElementObject[...] a previously located element (e.g. from "LocateElements") "HyperlinkText" "text" hyperlinks with the specified text "PartialHyperlinkText""form" hyperlinks with text containing "form" "Tag""tag" elements with the specified HTML tag "XPath"path elements on the specified XPath "CSSSelector"pattern elements matching the specified CSS selector pattern - WebExecute supports the following commands related to windows:
-
"BrowserWindows" get the WebWindowObject list "SetBrowserWindow"window make WebWindowObject window active "WindowSize" get the current window size as {width,height} "SetWindowSize"{w,h} set the current window size "WindowPosition" get the position of a window "SetWindowPosition"{window,{x, y}} set the screen position of window "WindowMaximize"window maximize window "WindowMinimize"window minimize window "WindowFullscreen" make the current window fullscreen - WebExecute allows the following general commands:
-
"JavascriptExecute""code" execute the specified string of JavaScript code - The following options can be given:
-
Visible True whether to display the browser window or not - WebExecute uses the WebDriver protocol defined by W3C to communicate with the browser.
Examples
open allclose allBasic Examples (6)
Open a webpage in the current session:
Get the URL of the page open in the browser:
Go back to the previous page in the browser tab’s history:
Go one page forward in the browser tab’s history:
Get the title of the page open in the browser:
Get hyperlinks on the page open in the browser:
Close the current web session:
Run multiple commands in a single command:
Open a webpage in the current session:
Locate header elements on the page using "LocateElements":
Find the element text of the HTML headers found previously:
Find paragraphs of text on a webpage with "XPath":
Open a webpage in the current session:
Locate all the image elements on the page using "LocateElements":
Extract the alt text of each tag using "ElementAttribute":
Open a webpage in the current session:
Find the search input box using "LocateElements" with "Tag":
Use "TypeElement" to type into the search box found previously:
Submit the form with the query:
Scope (3)
Get all the elements for the <a> (hyperlink) tag:
Click a randomly chosen hyperlink:
Get all the elements for the <p> (paragraph) tag:
Hide all the paragraphs of text on the page:
All text paragraphs are now hidden:
Show the text paragraphs again:
The text has reappeared on the page:
Use WebExecute to open to a new page:
Use WebExecute to open a new browser tab:
Use WebExecute to get the open windows:
Use WebExecute to get the title of the first page:
Use WebExecute to switch to the second window:
Use WebExecute to get the title of the second page:
Delete the session with DeleteObject:
Text
Wolfram Research (2019), WebExecute, Wolfram Language function, https://reference.wolfram.com/language/ref/WebExecute.html.
CMS
Wolfram Language. 2019. "WebExecute." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/WebExecute.html.
APA
Wolfram Language. (2019). WebExecute. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/WebExecute.html