簡體   English   中英

找不到元素硒python

[英]Can't find element selenium python

<input placeholder="Enter Password" class="password-input" type="password">

上面是我嘗試使用以下代碼發送密鑰的元素。

from selenium import webdriver
from selenium.common.exceptions import StaleElementReferenceException, TimeoutException
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.keys import Keys

driver = webdriver.Chrome('C:\chromedriver_win32\chromedriver.exe')

driver.get('https://howsecureismypassword.net/')

elem = driver.find_element_by_name('password-input')
elem.send_keys('password')

html = driver.page_source

這是我得到的錯誤,無法弄清原因。

 RESTART: C:\Users\bakat\AppData\Local\Programs\Python\Python35-32\Science 

Experiment\Science_Experiment_Password_Tester.py 
Traceback (most recent call last):
  File "C:\Users\bakat\AppData\Local\Programs\Python\Python35-32\Science Experiment\Science_Experiment_Password_Tester.py", line 18, in <module>
    elem = driver.find_element_by_name('password-input')
  File "C:\Users\bakat\AppData\Local\Programs\Python\Python35-32\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 365, in find_element_by_name
    return self.find_element(by=By.NAME, value=name)
  File "C:\Users\bakat\AppData\Local\Programs\Python\Python35-32\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 752, in find_element
    'value': value})['value']
  File "C:\Users\bakat\AppData\Local\Programs\Python\Python35-32\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 236, in execute
    self.error_handler.check_response(response)
  File "C:\Users\bakat\AppData\Local\Programs\Python\Python35-32\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 192, in check_response
    raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"name","selector":"password-input"}
  (Session info: chrome=57.0.2987.133)
  (Driver info: chromedriver=2.27.440174 (e97a722caafc2d3a8b807ee115bfb307f7d2cfd9),platform=Windows NT 10.0.14393 x86_64)

這是網站-https://howsecureismypassword.net/

嘗試使用find_element_by_class_name而不是find_element_by_name

查看您網站的HTML,所需元素的類名稱password-input ,而不是名稱。

from selenium import webdriver
from selenium.common.exceptions import StaleElementReferenceException, TimeoutException
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.keys import Keys

driver = webdriver.Chrome('C:\chromedriver_win32\chromedriver.exe')

driver.get('https://howsecureismypassword.net/')

elem = driver.find_element_by_class_name('password-input')
elem.send_keys('password')

html = driver.page_source

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM