Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Python Selenium Webdriver (name 'by' not defined)

I keep getting an error as below:

NameError: name 'By' is not defined

for the code

chrome_driver_path = r"C:\chromedriver.exe"
from selenium import webdriver
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.ui import WebDriverWait
browser = webdriver.Chrome(chrome_driver_path)
browser.delete_all_cookies()
browser.get("https://www.google.com/")
wait = WebDriverWait(browser, 10)
element = wait.until(EC.element_to_be_clickable((By.XPATH, '//*[@id="tsf"]/div[2]/div[3]/center/input[1]')))  

Is my import correct?

like image 483
Siddharth Sonone Avatar asked Jun 19 '17 11:06

Siddharth Sonone


2 Answers

you have to import it

from selenium.webdriver.common.by import By
like image 63
milo Avatar answered Oct 07 '22 21:10

milo


You can import By using

selenium.webdriver.common.by import By
like image 13
Arun Avatar answered Oct 07 '22 23:10

Arun