Reputation: 77
I know that there are many questions with the same problem but none of them have helped me. This is my script. I am trying to login into the willhaben website. I am from austria that is why I am using willhaben.at Python version 3.5.4 Selenium version 3.8.0 PhantomJS version 2.1
#need some of the libraries for later code
from bs4 import BeautifulSoup as soup
import requests
import sys
import re
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
input("If ready press 'enter'")
loginurl = 'https://www.willhaben.at/iad/?islogout=true&logoff.y=10'
chrome_options = Options()
chrome_options.add_argument('disable-infobars')
driver = webdriver.Chrome(executable_path="C:\\Users\\laure\\Downloads\\chromedriver_win32\\chromedriver.exe", chrome_options=chrome_options, service_args=['--ignore-ssl-errors=true', '--ssl-protocol=any'])
USERNAME = 'notgonnagiveit :)'
PASSWORD = 'notgonnagiveit'
driver.get(loginurl)
element = WebDriverWait(driver, 10).until(
EC.presence_of_element_located((By.XPATH, '//*[@id="username"]'))
)
username = driver.find_element_by_xpath('//*[@id="username"]')
password = driver.find_element_by_xpath('//*[@id="password"]')
password.send_keys(PASSWORD)
username.send_keys(USERNAME)
driver.quit()
Error:
File "D:\OneDrive\Dokumente\Willhaben\Willhaben.py", line 73, in <module>
password.send_keys(PASSWORD)
File "C:\Users\laure\AppData\Local\Programs\Python\Python35\lib\site-packages\selenium\webdriver\remote\webelement.py", line 352, in send_keys
'value': keys_to_typing(value)})
File "C:\Users\laure\AppData\Local\Programs\Python\Python35\lib\site-packages\selenium\webdriver\remote\webelement.py", line 501, in _execute
return self._parent.execute(command, params)
File "C:\Users\laure\AppData\Local\Programs\Python\Python35\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 311, in execute
self.error_handler.check_response(response)
File "C:\Users\laure\AppData\Local\Programs\Python\Python35\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 237, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.ElementNotVisibleException: Message: element not visible
(Session info: chrome=63.0.3239.84)
(Driver info: chromedriver=2.34.522940 (1a76f96f66e3ca7b8e57d503b4dd3bccfba87af1),platform=Windows NT 10.0.16299 x86_64)
Upvotes: 3
Views: 372
Reputation: 193058
Try to use :
username = driver.find_element_by_xpath("//input[@id='username']")
password = driver.find_element_by_xpath("//input[@id='password']")
Upvotes: 2