Skip to content

Commit 1196cf2

Browse files
committed
[JS] Add code sample for executeScript and takeElementScreenshot
1 parent 9b8bb91 commit 1196cf2

File tree

1 file changed

+23
-3
lines changed

1 file changed

+23
-3
lines changed
+23-3
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,24 @@
1-
const {Builder} = require('selenium-webdriver');
1+
const {Builder, By} = require('selenium-webdriver');
22
const chrome = require('selenium-webdriver/chrome');
33
const assert = require("node:assert");
44
let opts = new chrome.Options();
55
opts.addArguments('--headless');
6-
76
let startIndex = 0
87
let endIndex = 5
98
let pdfMagicNumber = 'JVBER'
9+
let imgMagicNumber = 'iVBOR'
1010
let base64Code
1111

1212
describe('Interactions - Windows', function () {
1313
let driver;
14-
1514
before(async function () {
1615
driver = await new Builder().forBrowser('chrome').setChromeOptions(opts).build();
1716
});
1817

1918
after(async () => await driver.quit());
2019

2120
it('Should be able to print page to pdf', async function () {
21+
2222
await driver.get('https://www.selenium.dev/selenium/web/alerts.html');
2323
let base64 = await driver.printPage({pageRanges: ["1-2"]});
2424
// page can be saved as a PDF as below
@@ -27,4 +27,24 @@ describe('Interactions - Windows', function () {
2727
base64Code = base64.slice(startIndex, endIndex)
2828
assert.strictEqual(base64Code, pdfMagicNumber)
2929
});
30+
31+
it('Should be able to get text using executeScript', async function () {
32+
await driver.get('https://www.selenium.dev/selenium/web/javascriptPage.html');
33+
// Stores the header element
34+
let header = await driver.findElement(By.css('h1'));
35+
36+
// Executing JavaScript to capture innerText of header element
37+
let text = await driver.executeScript('return arguments[0].innerText', header);
38+
assert.strictEqual(text, `Type Stuff`)
39+
});
40+
41+
it('Should be able to take Element Screenshot', async function () {
42+
await driver.get('https://www.selenium.dev/selenium/web/javascriptPage.html');
43+
44+
let header = await driver.findElement(By.css('h1'));
45+
// Captures the element screenshot
46+
let encodedString = await header.takeScreenshot(true);
47+
base64Code = encodedString.slice(startIndex, endIndex)
48+
assert.strictEqual(base64Code, imgMagicNumber)
49+
});
3050
});

0 commit comments

Comments
 (0)