python - Selenium Python - 如果没有包含此类值的属性,如何获取文本字段的当前值?
问题描述
所以我的问题如下,HTML 中的输入标签没有属性可以反映此输入字段中的当前文本(想想谷歌搜索中保存您输入的值的“值”属性)所以问题是 - 我的获取此文本以声明它的选项?
我已经尝试过 input.text 和 input.get_attribute() - 不走运。
来自-internet.herokuapp.com 的示例:
代码片段:
def sample_test():
driver = webdriver.Firefox()
driver.maximize_window()
base_url = "http://the-internet.herokuapp.com/login"
driver.get(base_url)
input = driver.find_element(By.XPATH, "//input[@id='username']")
print(input.text) # I expect this to print nothing as at this point the field is empty
input.send_keys("asdasd")
print(input.text) # Here I was hoping it will print "asdasd" but was also empty
解决方案
您可以通过以下方式获取元素value
属性值:
input_text = driver.find_element(By.XPATH, "//input[@id='username']")get_attribute("value")
通常输入元素包含它们的文本值作为值属性,而不是作为“文本”
推荐阅读
- python - 例外:仅记录一次回溯
- bash - 用于网络适配器、IP 地址和 Mac 地址的 Raspberry Pi Bash 脚本
- java - 动态生成多个 from() Apache Camel RouteBuilder
- colors - libgdx 多边形精灵批量绘制填充多边形
- swift - AdMob 7.51 导致 Xcode 11 崩溃
- python - 增加行中条件值的计数
- c++ - 在 C++ 解释中比较和交换库(对我来说似乎不起作用)
- java - CountDownTimer cancel() 不会取消定时器并继续工作
- php - 会话不持有价值 - Laravel 5.6
- python - 使用gensim的wmd函数进行句子聚类