I've been searching stackoverflow for an answer to this question all day. I'm trying to use Selenium WebDriver to click into an iframe and fill the fields on a registration form. Since Python on its own returns the error "Unable to locate element", I'm now trying to use JavaScript to get into the field.
The new error is "raise exception_class(message, screen, stacktrace) selenium.common.exceptions.WebDriverException: Message: u'document.getElementById(...) is null' ;"
Any advice on what I'm doing wrong?
from selenium import webdriver
from selenium.common.exceptions import TimeoutException
from selenium.webdriver.support.ui import WebDriverWait # available since 2.4.0
from selenium.webdriver.support import expected_conditions as EC # available since 2.26.0
import string
import random
def id_generator(size=6, chars=string.ascii_uppercase):
return ''.join(random.choice(chars) for x in xrange(size))
# Create a new instance of the Firefox driver
driver = webdriver.Firefox()
driver.get("http://bostinno.streetwise.co")
driver.find_element_by_link_text("Sign-up").click()
WebDriverWait(driver, 30)
driver.execute_script("document.getElementById('User_firstName').click()")
type(id_generator())