python - 使用 selenium 仅从谷歌刮取大(高清)图像
问题描述
在这里,我使用此代码从谷歌截取图像并将其保存在目录中。但它也需要小图像,所以我应该如何保持一个条件,使它只刮大(高清)图像。
from selenium import webdriver
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time
driver = webdriver.Chrome('/Path_to_driver/chromedriver')
driver.get('https://www.google.co.in/')
box = driver.find_element_by_xpath('/html/body/div[1]/div[3]/form/div[1]/div[1]/div[1]/div/div[2]/input')
box.send_keys('mobile phone camera')
box.send_keys(Keys.ENTER)
driver.find_element_by_xpath('//*[@id="hdtb-msb"]/div[1]/div/div[2]/a').click()
#Will keep scrolling down the webpage until it cannot scroll no more
last_height = driver.execute_script('return document.body.scrollHeight')
while True:
driver.execute_script('window.scrollTo(0,document.body.scrollHeight)')
time.sleep(2)
new_height = driver.execute_script('return document.body.scrollHeight')
print(new_height)
try:
driver.find_element_by_xpath('//*[@id="islmp"]/div/div/div/div/div[5]/input').click()
time.sleep(2)
except:
pass
if new_height == last_height:
break
last_height = new_height
a = 1500
for i in range(1,50):
a +=1
try:
driver.find_element_by_xpath('//*[@id="islrg"]/div[1]/div['+str(i)+']/a[1]/div[1]/img').screenshot('./images/ ('+str(a)+').png')
except:
pass
任何建议都会很棒,因为我是硒新手。谢谢
解决方案
推荐阅读
- javascript - 有没有办法为 CKEditor 4 创建自定义图像上传处理程序?
- arduino - 想知道软件串行库
- java - Android 字符串加密/解密
- vba - 使用 Access 和 VBA 的 PDF 对象名的合并字段
- php - 如何抽象 php 数据库对象类以使用可变列
- apache-spark - PySpark / Glue:PicklingError:无法序列化对象:TypeError:无法腌制thread.lock对象
- javascript - 而 True 循环阻止页面加载
- python - “Neural_Network”对象没有属性“w1”,但我认为它有
- javascript - JS 中的条件承诺
- c# - 将字节从一个数组复制到另一个数组