Как загрузить картинки Selenium
помогите пожалуйста разобраться с загрузкой картинок в разные кнопки.Заранее благодарен. Пытался так,но картинка загружается только в постер:
driver.find_element(By.XPATH, '//input[@type="file"]').send_keys('images/imge/piv.jpg')
driver.find_element(By.XPATH, '//input[@type="file"]').send_keys('images/imge/pivo.jpg')
Ответы (2 шт):
А ты посмотрел, какая именно картинка загружается в poster? уверен вторая.
метод find_element возвращает первый найденный в дереве элемент. и поиск идет сверху вниз. если первый раз по пути //input[@type="file"] тебе вернулся poster, то и второй раз тоже он вернется.
Решение - конкретизировать Xpath.
Например: xpath поддерживает индексацию. (и кажется она начинается с 1)
//input[@type="file"][1]- вернет poster//input[@type="file"][2]- вернет big_poster
А еще лучше опереться на другие критерии поиска. В данном случае у обоих элементов прописан id. ID уникален (не всегда) и позволяет точно найти нужный элемент.
driver.find_elements(By.XPATH, '//input[@type="file"]')[
0].send_keys('/home/alex/projects/allprojects/all/adder_project/images/imge/piv.jpg')
time.sleep(6)
driver.find_elements(By.XPATH, '//input[@type="file"]')[
1].send_keys('/home/alex/projects/allprojects/all/adder_project/images/imge/pivo.jpg')
time.sleep(6)
Этот код работает для 2 форм загрузки,нужно было делать через
driver.find_elements(By.XPATH, '//input[@type="file"]')[
0]
и менять елемент [0] ....[1]


