首页 > 解决方案 > 通过 python selenium 获取 html 站点“输入”元素

问题描述

我真的被困在这里了。我使用 Python + Selenium 来自动填写网站表单。所以我给网页提供了一些数据,然后“点击”一个按钮,之后一个新值出现在一个元素中,我想得到那个值,但我卡住了。

我应该如何将该值放入变量中?我尝试使用适用于“click”的 find_element_by_xpath,适用于“send.keys”,但要从这里获取任何值,什么都没有。

请帮我!

附上有关网页检查的图片。

1

'''Python

from selenium import webdriver

browser = webdriver.Chrome('chromedriver.exe')

browser.get('https://...')

browser.find_element_by_xpath('//input[parameter- 
name="moduleId"]').send_keys('1234')

'''

所以到那时一切都很好。我可以用 1234 值填充“moduleId”元素。

但从这里我无法读回来。所以如果我这样尝试:

'''Python

moduleId = browser.find_element_by_xpath('//input[@parameter-name="moduleId"]')

'''

输出什么都没有。

这是网站的 HTML 部分,有趣的是。

   html
   <input type="text" name="parameterValue" class="form-control" 
   placeholder="Value" spellcheck="false" autocomplete="off" data-bind="value:
   value, valueUpdate: 'keyup', autocomplete: { options: options, filtered: 
   true }, attr: { 'parameter-name': name, type: inputType }" parameter-name="moduleId">

标签: pythonseleniumselenium-chromedriver

解决方案


使用它来获取输入元素的值:

input.get_attribute('value')

您也可以一次性完成所有操作,例如

browser.find_element_by_xpath('//input[@parameter-name="moduleId"]').get_attribute('value')

推荐阅读