使用selenium webdriver登录网站时出错

问题描述 投票:3回答:1

我知道同样的问题有很多问题,但没有一个问题对我有帮助。这是我的剧本。我正在尝试登录willhaben网站。我来自奥地利,这就是为什么我使用willhaben.at Python版本3.5.4 Selenium版本3.8.0 PhantomJS版本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()

错误:

  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)
python google-chrome selenium selenium-webdriver
1个回答
2
投票

尝试使用:

username = driver.find_element_by_xpath("//input[@id='username']")
password = driver.find_element_by_xpath("//input[@id='password']")
© www.soinside.com 2019 - 2024. All rights reserved.