[英]I don't know AttributeError: 'NoneType' object has no attribute 'send_keys' in python selenium. I tried all solutions but still problem
[英]I can't solve this problem can someone help me? “'NoneType' object has no attribute 'send_keys'”
問題是我如何使用 send_keys? 因為它沒有寫在搜索欄中。
我在文檔中搜索,但我無法解決。
from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.by import By
import time
# Open Chrome
driver = webdriver.Chrome('C:/xampp/htdocs/pegasus/chromedriver')
# Going to website
driver.get("https://www.flypgs.com/en")
# Select button by class name and click on it.
frombtn = driver.find_element_by_class_name('select2-selection').click()
searchbtn = driver.find_element_by_class_name("select2-search__field").click()
# ERROR is here below on send_keys.
searchbtn.send_keys('Amsterdam')
time.sleep(1000000)
給出的錯誤是:
Exception has occurred: AttributeError
'NoneType' object has no attribute 'send_keys'
File "C:\xampp\htdocs\pegasus\app.py", line 17, in <module>
searchbtn.send_keys('Amsterdam')
您為searchbtn
分配了錯誤的值
您評估click()
返回的值,該值始終為None
您必須分兩步完成
searchbtn = driver.find_element_by_class_name("select2-search__field")
searchbtn.click()
然后searchbtn
是正確的,你可以使用send_key()
在此更改代碼生效后
from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.by import By
import time
driver = webdriver.Chrome('C:/xampp/htdocs/pegasus/chromedriver')
driver.get("https://www.flypgs.com/en")
frombtn = driver.find_element_by_class_name('select2-selection')
frombtn.click()
searchbtn = driver.find_element_by_class_name("select2-search__field")
searchbtn.click()
searchbtn.send_keys('Amsterdam')
time.sleep(1000000)
我的第一個想法是您寧願對searchbtn
object ( NoneType
) 有問題。 你確定select2-search__field
存在嗎?
請嘗試以下解決方案
您試圖將數據發送到 UI 上存在的錯誤元素select2-search__field
。 而不是我們需要識別//input[@class='select2-search__field']
元素,然后我們可以發送數據進行搜索。
from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.by import By
import time
# Open Chrome
driver = webdriver.Chrome('C:\chromedriver.exe')
# Going to website
driver.get("https://www.flypgs.com/en")
# Select button by class name and click on it.
frombtn = driver.find_element_by_class_name('select2-selection').click()
driver.find_element_by_class_name("select2-search__field").click()
driver.find_element_by_xpath("//input[@class='select2-search__field']").send_keys('Amsterdam')
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.