AttributeError: 'NoneType' object has no attribute 'send_keys'

AttributeError: 'NoneType' object has no attribute 'send_keys'

如何发送我的字符串,imei它目前附加到一个在我的代码中可见的字符串中。

为了找到 xpath 函数,我将它附加到一个变量中,假设它允许 send_keys 属性 但它不允许。

import time
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.chrome.service import Service
from webdriver_manager.chrome import ChromeDriverManager

imei = 'id'
xpath = 'xpath here'
options = Options()
options.add_experimental_option('w3c', True)                 
options.add_experimental_option("detach", True)
driver = webdriver.Chrome(service=Service(ChromeDriverManager().install()), options=options)
driver.get("https://www.t-mobile.com/resources/bring-your-own-phone")

time.sleep(2)

elem = driver.find_element_by_xpath(xpath).click()
elem.send_keys(imei)

XPath 也是一个字符串,因为它非常长并且很难查看。尽管如此,它仍然有效。该服务转到网页并单击路径但它没有输入我要输入的值 imei.

elem = driver.find_element_by_xpath(xpath).click()

这就是问题所在。您将 elem 分配给 click() 函数的结果,它没有 return 任何东西,因此它 returns None.

给元素赋值elem,然后分别调用click()如下:

elem = driver.find_element_by_xpath(xpath)
elem.click()
elem.send_keys(...)