我正在尝试通过selenium上传png。我的问题是,我需要使用的输入对selenium不可见,但对用户不可见。在Selenium的FAQ中,他们告诉我像这样使用JavascriptExcecutor:
((JavascriptExecutor)driver).executeScript("arguments[0].style.visibility = 'visible'; arguments[0].style.height = '1px'; arguments[0].style.width = '1px'; arguments[0].style.opacity = 1", fileUploadElement);
过去我在C#中使用了它,并且可以正常工作,但是现在却很难将这种用法转换为python。我会使用该document.getElementByName()函数,但是输入没有名称,并且页面上有多个。解决该问题的最佳方法是什么。我已经试过了
document.getElementByName()
icon = element.find_element_by_css_selector("input") script_befehl = icon+".style.visibility = 'visible'; "+icon+".style.height = '1px'; "+icon+".style.width = '1px'; "+icon+".style.opacity = 1
但这也没用,我收到语法错误
execute_script()驱动程序实例上有一个方法,参数以类似于C#的方式传递给它JavascriptExecutor:
execute_script()
JavascriptExecutor
icon = element.find_element_by_css_selector("input") driver.execute_script("arguments[0].style.visibility = 'visible'; arguments[0].style.height = '1px'; arguments[0].style.width = '1px'; arguments[0].style.opacity = 1", icon)