我正在使用Selenium的WebDriver和Python编码。
有一个隐藏的输入字段,我试图在其中插入特定的日期值。该字段最初会产生一个日历,用户可以从中选择一个合适的日期,但是与直接插入合适的日期值相比,模拟起来似乎要复杂得多。
该页面的源代码如下所示:
<div class="dijitReset dijitInputField">
<input id="form_date_DateTextBox_0" class="dijitReset" type="text" autocomplete="off" dojoattachpoint="textbox,focusNode" tabindex="0" aria-required="true"/>
<input type="hidden" value="2013-11-26" sliceindex="0"/>
value="2013-11-26"
我要在其中插入值的字段在哪里(它最初是空的,即:value=""
。
我了解WebDriver无法将值插入隐藏的输入中,因为常规用户无法在浏览器中执行此操作,但是一种解决方法是使用Javascript。不幸的是,这是我不熟悉的语言。有谁知道会行得通吗?
您可以使用WebDriver.execute_script
。例如:
from selenium import webdriver
driver = webdriver.Firefox()
driver.get('http://jsfiddle.net/falsetru/mLGnB/show/')
elem = driver.find_element_by_css_selector('div.dijitReset>input[type=hidden]')
driver.execute_script('''
var elem = arguments[0];
var value = arguments[1];
elem.value = value;
''', elem, '2013-11-26')
更新
from selenium import webdriver
driver = webdriver.Firefox()
driver.get('http://matrix.itasoftware.com/')
elem = driver.find_element_by_xpath(
'.//input[@id="ita_form_date_DateTextBox_0"]'
'/following-sibling::input[@type="hidden"]')
value = driver.execute_script('return arguments[0].value;', elem)
print("Before update, hidden input value = {}".format(value))
driver.execute_script('''
var elem = arguments[0];
var value = arguments[1];
elem.value = value;
''', elem, '2013-11-26')
value = driver.execute_script('return arguments[0].value;', elem)
print("After update, hidden input value = {}".format(value))
问题内容: 我想在使用写入密码时屏蔽我的密码。我将Linux GCC用于此代码。我知道一种解决方案是使用这样的功能 但是问题是这样不包括文件,对我没用。有没有人有办法解决吗? 问题答案: 在Linux世界中,屏蔽通常不是用星号完成的,通常回显只是关闭,并且终端显示空白,例如,如果您使用或登录虚拟终端等。 有一个用于获取密码的库函数,它不会用星号掩盖密码,但会禁止将密码回显到终端。我从一本Linux
我有数据 我正试图选择它与J汤。 但这不起作用。 我在字符串auth_token=处收到空指针异常。 java.lang.crime.ic.Main.main(Main.java: 2) 我做错了什么?
我不能上传一个文件,我猜问题是因为输入对象是隐藏的! 对象结构为:
问题内容: 我知道命令行界面(例如Git等)能够隐藏用户的输入(对于密码有用)。有没有办法用Java编程地做到这一点?我正在从用户那里输入密码,我希望他们的输入在该特定行(而不是所有用户)上被“隐藏”。这是我的代码(尽管我怀疑这会有所帮助…) 问题答案: 尝试。不过,您至少必须运行Java 6。 请注意,这不适用于Eclipse控制台。您必须从 真实的 console / shell / term
问题内容: 所以我有我的TagStatus模型。我正在尝试为此制作一个ModelForm。但是,我的表单要求使用{{tag.name}}填充隐藏的输入。我一直在浏览文档,但不知道如何使标记字段成为隐藏的输入。也许ModelForm不是要走的路? models.py: django views.py: 模板: 我将如何通过Django ModelForm进行隐藏输入,然后通过模板进行填充? 问题答案
我需要隐藏软键盘以响应单击按钮。我看到了一些关于这方面的帖子,我尝试了: 这很有效。但现在我有两个EditText视图。无论选择了哪个EditText,现在如何隐藏软键盘?我也试过了 ,但那不起作用... 谢谢你的帮助! 编辑:找到解决方案。贴在下面。