Как загрузить файл с помощью тега Selenium to Div.Какой тег не имеет ввода в качестве типа - PullRequest
0 голосов
/ 22 мая 2019

Я пытаюсь загрузить файл в тег div.Это не имеет типа в качестве файла ввода.Поэтому, пожалуйста, люди, предлагающие sendkey с путем к файлу, проверьте мой полный вопрос.

У меня есть такой тег.

Снимок экрана с тегом

Я пробовал sendkeys с поиском элемента и загрузкой файла с локального в этом.что не сработало для меня.

вот что я пробовал.

GlobalVariables.chromeDriver_Main.findElement(By.xpath("//*[@id=\"card-uploader\"]"))
                    .sendKeys("C:\\Users\\Dhaval Bhimajiyani\\Documents\\Lightshot\\Screenshot_207.png");

Что и дает мне такую ​​ошибку.

org.openqa.selenium.WebDriverException: unknown error: cannot focus element

Мне нужно понять, как я могу загрузить файл в этот тег div.Который не имеет тип ввода в качестве файла.

Спасибо за ваш ответ заранее.

1 Ответ

0 голосов
/ 22 мая 2019

Попробуйте это.

# get the button element
ele = driver.find_element_by_id("card-uploader")
# add a hidden file input ( might have to change the onchange event based on the events associated to the button in above line as you don't have a form)
driver.execute_script("var x=  document.createElement('INPUT');x.setAttribute('type', 'file'); x.setAttribute('onchange','this.form.submit()');x.setAttribute('hidden', 'true'); arguments[0].appendChild(x);",ele)
# send the file path here ( this should upload the file)
driver.find_element_by_xpath("//input[@type='file']").send_keys("C:\\Users\\Dhaval Bhimajiyani\\Documents\\Lightshot\\Screenshot_207.png")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...