Я создаю загрузчик из Instagram.Эта программа получает URL-адреса из главных сообщений Instagram в заданном хэштеге и вводит их в загрузчик.Проблема в том, что при первой загрузке веб-сайта над кнопкой загрузки всегда появляется всплывающее объявление iframe.Это приводит к ошибке, что кнопка не может быть нажата, потому что будет щелкнут iframe.
Это для Python Selenium с запущенным драйвером Chrome.Я попытался запустить фильтр, который находит iframes и возвращается на главную страницу:
all_iframes = self.browser.find_elements_by_tag_name("iframe")
if len(all_iframes) > 0:
self.browser.switch_to.default_content()
Это не сработало, я также пытался получить XPath для кнопки X на объявлении, ноИдентификатор меняется каждый раз, поэтому меня нельзя щелкнуть или идентифицировать.
#get the website
for link in self.links:
self.browser.get('https://downloadgram.com/')
time.sleep(5)
#this is the x button click iframe I tried, but the XPath changes
all_iframes = self.browser.find_elements_by_tag_name("iframe")
if len(all_iframes) > 0:
xButton = self.browser.find_element_by_xpath('//div[@id="id3019a64023cross3019a64023"]')
xButton.click()
#inputs the URL from array links[] into download box
input = self.browser.find_element_by_xpath('//input[@name="url"]')
input.clear()
input.send_keys(link)
time.sleep(1)
#clicks download button
download = self.browser.find_element_by_xpath("//input[@type='submit']")
download.click()
time.sleep(1)
#clicks confirm button
actuallyDownload = self.browser.find_element_by_xpath("//a[@target='_blank']")
actuallyDownload.click()
time.sleep(1)
Я ожидаю, что код загрузит изображения по URL, но я получаю:
selenium.common.exceptions.WebDriverException: Message: unknown error: Element <input type="submit" value="Download" class="button"> is not clickable at point (451, 446). Other element would receive the click:
веб-сайт (выключите adblock, чтобы увидеть добавление) https://downloadgram.com/