1. 程式人生 > 實用技巧 >Selenium find_element_by_css_selector定位輸入框報selenium.common.exceptions.NoSuchElementException的解決方法

Selenium find_element_by_css_selector定位輸入框報selenium.common.exceptions.NoSuchElementException的解決方法

早晨操作find_element_by_css_selector定位輸入框的程式碼如下:

#開啟搜狗搜尋頁面
driver.get('https://www.sogou.com/')
driver.find_element_by_css_selector('#sec-input').send_keys(Keys.CONTROL,'v')
sleep(2)

driver.quit()

執行時報:

C:\Users\EDZ\Desktop\selenium_demo\venv\Scripts\python.exe C:/Users/EDZ/Desktop/selenium_demo/webdriver/Keys_Option.py
Traceback (most recent call last):
  File 
"C:/Users/EDZ/Desktop/selenium_demo/webdriver/Keys_Option.py", line 33, in <module> driver.find_element_by_css_selector('#sec-input').send_keys(Keys.CONTROL,'v') File "C:\Users\EDZ\Desktop\selenium_demo\venv\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 627, in find_element_by_css_selector
return self.find_element(by=By.CSS_SELECTOR, value=css_selector) File "C:\Users\EDZ\Desktop\selenium_demo\venv\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 1014, in find_element 'value': value})['value'] File "C:\Users\EDZ\Desktop\selenium_demo\venv\lib\site-packages\selenium\webdriver\remote\webdriver.py
", line 318, in execute self.error_handler.check_response(response) File "C:\Users\EDZ\Desktop\selenium_demo\venv\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 240, in check_response raise exception_class(message, screen, stacktrace) selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"css selector","selector":"#sec-input"} (Session info: chrome=83.0.4103.116) Stacktrace: Backtrace: Ordinal0 [0x003E9563+2725219] Ordinal0 [0x002E8551+1672529]

搜狗輸入的原始碼如下:

經檢查是find_element_by_css_selector後面定位輸入框class的格式有誤

正確程式碼如下:

#開啟搜狗搜尋頁面
driver.get('https://www.sogou.com/')
driver.find_element_by_css_selector('.sec-input').send_keys(Keys.CONTROL,'v')
sleep(2)

執行操作正常沒有報錯

C:\Users\EDZ\Desktop\selenium_demo\venv\Scripts\python.exe C:/Users/EDZ/Desktop/selenium_demo/webdriver/Keys_Option.py

Process finished with exit code 0

具體find_element_by_css_selector幾種操作方法可以參考前幾天的部落格

地址如下:

https://www.cnblogs.com/gengwulovestudy/p/13373151.html

以上有問題隨時討論!