我正在尝试将一串字符输入到使用selenium firefox打开的页面上的隐藏文本区域。我已经得到它来返回html,但还没有弄清楚如何编辑html,就像我在检查元素时能够做的那样。我对编码很新,所以请原谅我听起来多么无知。
这是我想输入的html:
app.ports.uploadFile.subscribe(function(pathAndId){
var [tasksrvPath, formId] = pathAndId
try {
var fd = new FormData(document.getElementById(formId));
var r = new XMLHttpRequest()
r.open("POST", tasksrvPath, true)
r.setRequestHeader("Authorization", "Bearer " + token() )
r.send(fd)
r.onload = function() {
app.ports.status.send(r.statusText)
}
} catch(e) {
console.log(e.message);
}
})
我理解我想输入需要在两个<textarea id = "xxx"
name = "xxx"
class = "xxx"
style = "border : 1px solid #c1c1c1;
display : none;
height : 40px;
margin : 10px 25px;
padding : 0px;
resize : none;
width : 250px;">
</textarea>
>
之间输入,但我不知道如何1.使用python输入文本,以及2.如果文本我如果<
仍设置为textarea
,则会输入。
答案 0 :(得分:1)
如果您想让此文字区域可见,您需要制作&#39; display:none&#39;显示:阻止&#39;使用如下的执行脚本。之后,您可以使用sendkeys发送文本。
driver = webdriver.Firefox()
driver.implicitly_wait(20)
driver.get("Url of your page")
driver.maximize_window()
driver.execute_script("document.getElementById('xxx').style.display = 'block';")
driver.find_element_by_id("xxx").send_keys("test")
如果您有任何疑问,请告诉我