gpt4 book ai didi

python - 在 selenium Python 中设置输入元素的值

转载 作者:太空宇宙 更新时间:2023-11-03 21:23:55 29 4
gpt4 key购买 nike

我正在尝试更改输入标记元素的值。

这是标签:<input type="hidden" id="hiRequestAccessType" data-bind="value: requestAccessTypeStr" value="2">

我想将值更改为“2,1”。

基于 Set value of input instead of sendKeys() - selenium webdriver nodejs 的讨论,我尝试使用execute_script,但值保持不变。

我尝试过这个:

passwordcheck_input_element = driver.find_element_by_xpath('//*[@id="hiRequestAccessType"]') . ###THIS DOESNT THROW ERRORS
new_value = "2,1"

driver.execute_script("arguments[0].value = arguments[1].toString()", passwordcheck_input_element, new_value)
# driver.execute_script("arguments[0].value = '" + new_value + "'", passwordcheck_input_element) . ###TRIED THIS IN LIEU OF ABOVE

无论哪种选择,代码都会运行,但从目视检查来看,值保持不变。我还使用“setAttribute”尝试了上述两种替代方案,而不是直接使用相同(无变化)的结果。

请注意,该网页是一种表单,其中单击复选框可根据需要将值更改为“2,1”。 (但是,如果我尝试查找复选框元素,我会收到消息,它不可点击,因此这条路线)。

现在,奇怪的是我知道它正在幕后做一些事情,因为我尝试在执行脚本调用之前和之后查询 value 属性,并且它会正确打印出后者的新值。然而,正如我所说,用户界面并没有显示这种变化;此外,当我继续前进并进一步向下点击提交按钮时,将使用旧值,因为如果使用新值,我不会获得应加载的页面。

最佳答案

您可以尝试一下下面的代码吗?

passwordcheck_input_element = driver.find_element_by_id("hiRequestAccessType")
driver.execute_script("arguments[0].value = '2,1';", passwordcheck_input_element)

如果复选框对象不可点击,您还可以通过 JavaScript 执行来控制它。

driver.execute_script("document.getElementById('hiRequestAccessType').checked = true;")

关于python - 在 selenium Python 中设置输入元素的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53998819/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com