我提供的输入是假设在两个标签处替换旧值。这些值在一个选项卡上自动填充,但我完全不使用自动填充功能。 该值仅在一个选项卡上替换,而不在另一个选项卡上替换。第二个选项卡显示第一个选项卡的xml版本。
Tab 1 where I am providing input
AllElements = driver.find_elements_by_xpath("//div[@class='CodeMirror cm-s-
codeedit CodeMirror-wrap']")
for row in Inputs:
Content = row['Content']
Universe = row['Universe']
for ele in AllElements:
count = count + 1
if count == 1:
ele.click()
#Content = 'TR.NetAssetEstBrokerName'
driver.execute_script('return arguments[0].setAttribute("style",
"visibility:visible")', ele)
driver.execute_script("arguments[0].innerText = ' " + Content +
" ' ", ele)
driver.execute_script('return
arguments[0].setAttribute("value",' + Content + ')',
ele)
if count == 2:
ele.click()
#Universe = 'IBM.N@RIC'
driver.execute_script('return arguments[0].setAttribute("style",
"visibility:visible")', ele)
driver.execute_script("arguments[0].innerText = ' " + Universe +
" ' ", ele)
driver.execute_script('return
arguments[0].setAttribute("value",'+Universe+')', ele)
driver.find_element_by_id('button-1093-btnEl').click()
答案 0 :(得分:0)
这是因为你正在使用javascriptexecutor
,它直接改变了DOM的值。如果您希望您的功能应该按照业务逻辑使用操作,例如setAttribute,它可以按要求运行
driver.findElement(By.id("YOURID")).setAttribute("value", "your value");
希望它会对你有所帮助:)。