I'm new to Python and I'm trying to make a program that involves me logging into Gmail and iCloud, using Selenium. I've completed the Gmail part, so I know I'm not completely off track, but I can't seem to surmount the error that occurs when I try to locate the login/password fields on the iCloud website. I keep getting: 

NoSuchElementException: Message: no such element: Unable to locate
  element: {"method":"xpath","selector":"//*[@id="appleId"]"}

I've attempted to use WebDriverWait, and I've done waits for like 30 seconds just to see if timing was the issue, but I keep getting the same error even if I try to locate the login/password fields using Xpath, ID name, CSS selector, etc.
It's within an iframe so you need to have Selenium switch to it.
driver.switch_to.frame('auth-frame')
Once you do that you should be able to locate it by id or xpath.
iCloud Website - NoSuchElementException: Unable to Locate Element