与您可以拖放图像的框相对应的Google Image的ID或类是什么?

问题描述

我正在使用Python Selenium制作某种类型的Google图像的Python控制台版本。我已经找到打开它的部分,然后单击相机图标。不幸的是,我不知道让您拖动图像的框的ID或类是什么,因为当我尝试使用显示为“元素不可交互”的框中的ID时, 到目前为止的代码

from selenium import webdriver
import time

PATH = "C:\Program Files (x86)\chromedriver.exe"

driver = webdriver.Chrome(PATH)

driver.get("https://images.google.com")

print("Googlen't Images")
image_query = input("Enter path where image is: ")

cameraicon = driver.find_element_by_class_name("BwoPOe")
cameraicon.click()
time.sleep(2)
Box = driver.find_element_by_id("dRSWfb") #this is the one that gives "element not interactable" error
Box.send_keys(image_query)

有人可以帮忙吗?

解决方法

首先:错误的行号为send_keys(),而不是find_...-因此您在代码中的注释会产生误导。

问题是"dRSWfb<div>,您无法将密钥发送到<div><div>内是<input>,您应该获取并发送密钥。

<input>的ID为Ycyxxc

box = driver.find_element_by_id("Ycyxxc")
box.send_keys(image_query)

我不知道如何拖放Selenium(如果可能的话),但是DevTools中的Firefox显示事件dragover和{{ ID为drop的{​​{1}}的1}}


编辑:要发送本地文件,可以使用第二个标签上的按钮<div> 而不是QDMvGf

enter image description here

您可以使用ID Browse

进行访问
drag'n'drop

最小工作代码

awyMjb

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...