如何通过Selenium获取输入框文本?Python ChromeDriver技术问询
如何用Selenium获取谷歌搜索框中输入的文本?
我懂你的困扰——用.text属性拿不到输入框里的内容太常见了!问题出在输入类元素的文本存储方式上:浏览器里的<input>这类输入框,用户输入的内容并不会存在元素的文本节点里(也就是.text能拿到的部分),而是存在它的value属性中。
你之前的代码里,browser.find_element_by_name('q').text返回空字符串,就是因为这个原因。而send_keys(Keys.RETURN)返回None是正常的,因为这个方法只负责执行输入操作,本身没有返回值。
正确的做法是用get_attribute('value')来提取输入框里的内容,给你整理好完整的代码示例:
from selenium import webdriver from selenium.webdriver.common.keys import Keys # 初始化Chrome浏览器 browser = webdriver.Chrome() browser.get("https://www.google.com") # 定位谷歌搜索框并输入指定文本 search_box = browser.find_element_by_name('q') search_box.send_keys("google search through python") # 提取输入框中的文本内容 input_content = search_box.get_attribute('value') print(input_content) # 这里会输出:google search through python # 可选:提交搜索(如果需要的话) search_box.send_keys(Keys.RETURN) # 用完记得关闭浏览器 browser.quit()
这个方法不仅适用于谷歌搜索框,所有的<input>、<textarea>这类可输入元素,只要是用户输入的内容,都可以用get_attribute('value')来获取。
内容的提问来源于stack exchange,提问作者RASHA SANYOUR
相关产品推荐
相关产品推荐

