1.背景
此网站一直加载中,所以没法下一步,用了阻止js的方法来解决。
2.方案
import time from selenium import webdriver option = webdriver.ChromeOptions() #option.add_argument('headless') driver = webdriver.Chrome(executable_path='chromedriver', chrome_options=option) url='https://kd.nsfc.gov.cn/finalDetails?id=9e581211af5801727362199915e78291&pagePosition=4' #driver.get(url)#此方法一直加载,用下面方法 #page_src = driver.page_source #print(page_src) driver.set_page_load_timeout(6)#6秒后,不再等待 driver.set_script_timeout(6)#与上面一起用 try: driver.get(url) except: driver.execute_script('window.stop()') time.sleep(1) driver.find_element_by_xpath('/html/body/div/div/div[4]/div/div[1]/div[1]/div[2]/div[6]/div/div[3]/div/div[2]/div/span[2]').click() time.sleep(1) from selenium.webdriver.common.action_chains import ActionChains from selenium.webdriver.common.keys import Keys element=driver.find_element_by_xpath('/html/body/div/div/div[4]/div/div[1]/div[1]/div[2]/div[6]/div/div[3]/div/div[2]/div/div/div[3]/img[1]')#定位图片所在的元素 action = ActionChains(driver).move_to_element(element)#移动到该元素 action.context_click(element)#右键点击该元素 action.send_keys(Keys.ARROW_DOWN)#点击键盘向下箭头 #未成功,原因是图片所在元素,输入字母 action.send_keys('v')#键盘输入V保存图 action.perform()#执行保存