大家都知道,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的方法,视情况而定。