获取input框中的value值

大家都知道,input框中的值,通过取text是取不到的,那么怎么办呢?

这里分享三个方法。

import time
from selenium import webdriver

driver = webdriver.Chrome()

try:

    driver.get('https://www.baidu.com')
    # 首先send 一些值
    driver.find_element_by_id('kw').send_keys('我不管我最帅!')
    # 法1 通过attr获取value值,这里有需要说明,该方法必须保证input框有value属性才能用
    time.sleep(1)
    result1 = driver.execute_script('return $("#kw").attr("name");')   # 但这种方式获取别的就很正常
    print(result1)
    # 法2 通过 val获取
    time.sleep(1)
    result2 = driver.execute_script('return $("#kw").val();')
    print(result2)

    # 法3 通过selenium的 get_attribute 获取
    time.sleep(1)
    result3 = driver.find_element_by_id('kw').get_attribute('value')
    print(result3)

    driver.execute_script('alert("{}")'.format(result3))
    
finally:
    time.sleep(10)
    driver.quit()

需要说明的是,如果通过执行is脚本,那么可使用js的原生方法也可以使用jQuery的方法,视情况而定。

原文地址:https://www.cnblogs.com/zhang-da/p/12292532.html