-2

I can't automate my code

from selenium import webdriver
from selenium.webdriver.common.keys import Keys


driver = webdriver.Chrome(executable_path=r"D:\New folder\Programming\chrome driver\chromedriver")

driver.get("https://www.youtube.com/")

search = driver.find_element_by_id("search")

search.Send_Keys("fish")

Error:

AttributeError: 'WebElement' object has no attribute 'Send_Keys'

Snapshot:

any help please.

undetected Selenium
  • 183,867
  • 41
  • 278
  • 352
  • Edit: make the code clearer to anyone looking – Evorage Jun 27 '20 at 11:49
  • from selenium import webdriver from selenium.webdriver.common.keys import Keys driver = webdriver.Chrome(executable_path=r"D:\New folder\Programming\chrome driver\chromedriver") driver.get("https://www.youtube.com/") search = driver.find_element_by_id("search") search.Send_Keys("fish") ERROR : search.Send_Keys("fish") AttributeError: 'WebElement' object has no attribute 'Send_Keys' YOU can see the screenshot too – Moustafawahba77 Jun 27 '20 at 11:50

2 Answers2

1
search.send_keys()

Python, as most languages, is case sensitive. Not that experienced with selenium but after a quick search that might be it.

dvnt
  • 196
  • 4
  • 15
1

send_keys()

send_keys(*value) simulates typing into the element.

To simualate sending a character sequence within an element you need to:

  • Python:

    driver.find_element_by_id("search").send_keys("fish")
    
  • Java:

    driver.findElement(By.id("search")).sendKeys("fish");
    
  • C#:

    driver.FindElement(By.Id("search")).SendKeys("fish");
    
  • VBA:

    driver.FindElementById("search").SendKeys ("fish")
    
  • Ruby:

    driver.find_element(id: 'search').send_keys 'fish'
    
  • JavaScript:

    driver.findElement(By.id('search')).sendKeys('fish');
    
  • Kotlin:

    driver.findElement(By.id("search")).sendKeys("fish")
    
undetected Selenium
  • 183,867
  • 41
  • 278
  • 352