我正在使用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');")
但他们都没有工作。
答案 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")