Python Selenium调用隐藏文件输入

时间:2016-08-12 22:05:21

标签: javascript python selenium input hidden

我正在使用chlenium-python和chromedriver。

https://web.whatsapp.com/的网页中,我尝试将带有send_keys()的文件发送到文件类型输入。

但问题是,当您在网页上放置文件时,输入元素仅在检查器中可见。如果您关闭该菜单(我不是指本机菜单),则元素会从检查器中消失。

如果未显示元素,如何调用该元素?

元素看起来像这样:

xpath='//*[@id="app"]/div/div[3]/div[1]/span[2]/span/div/div[2]/input'

<input type="file" accept="image/*,video/*" multiple="" style="display: none;">

我试过

driver.execute_script("document.getElementById('parent_id').style.display='block';")

driver.execute_script("document.getElementByXpath('Xpath').sendKeys('file');")

但他们都没有工作。

1 个答案:

答案 0 :(得分:0)

如果您使用文件输入元素,那么尝试使其可见而不是它的父元素,如下所示:

xpath = '//*[@id="app"]/div/div[3]/div[1]/span[2]/span/div/div[2]/input'

file = driver.find_element_by_xpath(xpath)

file = driver.execute_script("arguments[0].style.display='block'; return arguments[0];", file)

file.seng_keys("file")