- Trending Categories
Data Structure
Networking
RDBMS
Operating System
Java
MS Excel
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP
Physics
Chemistry
Biology
Mathematics
English
Economics
Psychology
Social Studies
Fashion Studies
Legal Studies
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
How to key in values in input text box with Javascript executor in Selenium with python?
We can key in values inside an input text box with a Javascript executor in Selenium. Javascript is a language used for scripting and runs on the client side (on the browser). Selenium gives default methods to work with Javascript.
Syntax
javaScript = "document.getElementsByClassName('gsc-input')[0].value = 'T' ") driver.execute_script(javaScript)
There are couple of methods by which Javascript can be executed within browser −
Javascript execution at document root level.
In this process, we shall identify the element with locators (class or id) and then perform the required action on it. Then execute_script() method is called and the Javascript is passed as a string to it.
Syntax −
javas = "document.getElementsByName('user-search')[0].click();" driver.execute_script(javas)
Please note, we have used getElementsByName('user-search')[0]. The functions like getElementsByName and getElementsById return an array of matching elements. So for locating the first element, the index[0] is used. However if we are using getElementById function, we need not use the index since only one matching element is referred there.
Finally, for execution the web driver will put the Javascript statement in the browser and then perform the necessary action like clicking the required element. This Javascript does not mingle with the Javascript present in the webpage.
Javascript execution at element level.
In this process, we shall identify the element with the help of web driver methods like find_element_by_xpath or find_element_by_id and so on. Then execute the necessary action on it like clicking the element. Finally, the method execute_script() is called. This method has the Javascript statement and the identified webelement as arguments.
Syntax −
userN= driver.find_element_by_id("user-search']") driver.execute_script("arguments[0].click();", userN)
Example
Code Implementation with Javascript key in values in text box.
from selenium import webdriver #browser exposes an executable file #Through Selenium test we will invoke the executable file which will then #invoke #actual browser driver = webdriver.Chrome(executable_path="C:\chromedriver.exe") # to maximize the browser window driver.maximize_window() #get method to launch the URL driver.get("https://www.tutorialspoint.com/about/about_careers.htm") #to refresh the browser driver.refresh() # inputting values in the text box with help of Javascript executor javaScript = "document.getElementsByClassName('gsc-input')[0].value = 'TestNG' " driver.execute_script(javaScript) #to close the browser driver.quit()
- Related Articles
- How to get the inner text of a webpage with a Javascript executor in Selenium with python?
- How to click on a button with Javascript executor in Selenium with python?
- How to click on a link with a Javascript executor in Selenium with python?
- How to perform vertical scrolling of a webpage with Javascript executor in Selenium with python?
- How to enter values in an edit box in Selenium with python?
- How to input letters in capital letters in an edit box in Selenium with python?
- How to get the title and URL of a webpage with Javascript executor in Selenium with python?
- How to refresh a browser then navigate to a new page with Javascript executor in Selenium with python?
- How to upload a file in Selenium with no text box?
- Detect the ENTER key in a text input field with JavaScript
- How to input text in the text box without calling the sendKeys() using Selenium?
- How to simulate pressing enter in html text input with Selenium?
- How to extract text from a Javascript alert in Selenium with python?
- How to use text() in xpath in Selenium with python?
- How to get text with selenium web driver in python?
