xpath怎么获取input标签填的内容

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
好帮手慕美 2021-10-26 10:15:38

同学,你好!

1、只是在input标签中输入内容是获取不到内容的,需要点击"百度一下"之后跳转到新的页面,访问该页面才可以获取到

例:

import requests
from lxml import etree

header = {
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.72 Safari/537.36"
}
url = 'https://www.baidu.com/s?ie=utf-8&f=8&rsv_bp=1&rsv_idx=1&tn=baidu&wd=1258&fen%27%20\%20%27lei=256&rsv_pq=fbadbbb1000e56de&rsv_t=20daYbdZrZl5XR9Cuw1%2FwojIiJf0i463f42bshs%27%20\%20%27HbfifbU77d4Z2i0Xj3PQ&rqlang=cn&rsv_enter=0&rsv_dl=tb&rsv_btype=i&inputT=1833&rsv_su%27%20\%20%27g4=2321'
response = requests.get(url=url, headers=header)
html = etree.HTML(response.text)
items = html.xpath("//input[@id='kw']/@value")
print(items)   # ['1258']

祝学习愉快!

  • 提问者 大可计划 #1

    比如说这个, 输入证券代码后, 会自动写入买入价格, 我想获取这个买入价格(input标签), 直接是获取不到的
    我想知道的是, 有些input, 是一定获取不到输入的文本吗, 这样的, 要怎么办



    https://img1.sycdn.imooc.com//climg/61777ca709c6135f08220763.jpg

    2021-10-26 11:59:55
  • 好帮手慕美 回复 提问者 大可计划 #2

    同学,你好!

    1、由于没有账户无法测试。同学可以按F12查看下网页源代码,看下input中的值是以什么形式存在的

    2、若使用selenium写的代码,则可以使用get_attribute('value')获取

    由于课程中没有涉及到该操作,建议同学自行测试

    祝学习愉快!

    2021-10-26 13:13:46
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师