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

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

我想拉出输入到网站文本框中的输入的长度,以查看它允许的最大字符数。 HTML 表示最大长度为 40,因此我尝试输入 41 个字符以查看它是否只需要输入的前 40 个字符。当我 运行 我拥有的代码时,我得到 AttributeError: 'NoneType' object has no attribute 'get_attribute'

到目前为止,这是我的代码:

def test_FN_SPmax(self):
    time.sleep(3)
    first_name = self.driver.find_element_by_xpath(
        '/html/body/div[4]/div[1]/section/div[2]/div[1]/div[4]/div/div/div/div/div/div[2]/div/div[1]/section/div/section/div/div/div/div/div/div[1]/div/div/div/fieldset/div/div[2]/input').send_keys(
        ''.join(random.choice(string.ascii_uppercase + string.digits) for _ in range(41)))
    time.sleep(2)
    typedValue = first_name.get_attribute('value')
    size = typedValue.length()
    print(size)
first_name 

不再是网络元素,因为您确实使用了 .send_keys

所以改为这样做:

first_name = self.driver.find_element_by_xpath('/html/body/div[4]/div[1]/section/div[2]/div[1]/div[4]/div/div/div/div/div/div[2]/div/div[1]/section/div/section/div/div/div/div/div/div[1]/div/div/div/fieldset/div/div[2]/input')
first_name.send_keys('something here')
time.sleep(2)
typedValue = first_name.get_attribute('value')

应该适合你。