簡體   English   中英

為什么我收到此錯誤? selenium.common.exceptions.NoSuchElementException

[英]Why i am getting this error ? selenium.common.exceptions.NoSuchElementException

錯誤:

selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"css selector","selector":"button.btn.btn-large.p-x-2.btn-inverse.xh-highlight"}

這是檢查代碼:

<button type="submit" class="btn btn-large p-x-2 btn-inverse xh-highlight" ng-if="!loggingIn" ng-click="submit();" ng-class="{'btn-inverse': !loginForm.$valid, 'btn-primary': loginForm.$valid}">
              Log In</button>

我的代碼:

path = "C:/Users/Amiyanshu/Downloads/chromedriver.exe"
driver = webdriver.Chrome(path)
driver.get("https://mrs.vodafone.mantica-solutions.com/login")



def login(id,password):
 email = driver.find_element_by_name("username")
 email.send_keys(id)
 Password = driver.find_element_by_name("password")
 Password.send_keys(password)
 button = driver.find_element_by_css_selector("button.btn.btn-large.p-x-2.btn-inverse.xh- highlight").click()
 print(button)
 pass

這個錯誤

selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"css selector","selector":"button.btn.btn-large.p-x-2.btn-inverse.xh-highlight"}

是因為您的CSS selector不正確。

請使用以下代碼:

try:
    login_btn = WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "button[ng-if='!loggingIn']")))
    login_btn.click()
except:
    print("Could not click on login button")
    pass

您還需要導入:

from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC

暫無
暫無

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

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