繁体   English   中英

无法单击元素-Selenium python

[英]Unable to click an element-Selenium python

我想从Instagram下载图片,但无法单击(使用代码) 页面的下载按钮

我尝试使用XPath和CSS选择器单击,但不起作用。

pyautogui.locateOnScreen('image.PNG')在大多数情况下不起作用。

elem=driver.find_element_by_xpath
elem('/html/body/div[1]/div[3]/div/div/div[1]/div/div[2]/a').click

driver.find_element_by_css_selector('body > div.page-wrapper > div:nth-child(5) > div > div > div.col-md-3 > div > div.button_div > a').click()

NoSuchElementException异常

如果有更好的方法可以执行此任务,请告诉我。

到这里,您无需单击任何按钮即可下载img。 如果您具有链接,则可以urllib.request.urlretreive下载文件。

from selenium import webdriver
from selenium.webdriver.chrome.options import Options
import urllib.request

options = Options()
options.add_argument("--headless") # runs chrome in headless mode

driver = webdriver.Chrome(options=options)

driver.get('https://www.sssinstagram.com/p/B1cSJ8hlxXb/')

# To get the link via image displayed on the page use 
src = driver.find_element_by_xpath('/html/body/div[1]/div[3]/div/div/div[1]/div/img').get_attribute('src')
urllib.request.urlretrieve(src, src.split('/')[-1].split('?')[0]) # saves image with name 69346681_776681372728713_6952518582543886663_n.jpg obtained from the image url 

# to get the image via the href available on the page use 
href = driver.find_element_by_xpath('/html/body/div[1]/div[3]/div/div/div[1]/div/div[2]/a').get_attribute('href')
urllib.request.urlretrieve(href, href.split('/')[-1].split('?')[0])

driver.quit()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM