Я пытаюсь создать скрипт, который будет автоматически отправлять Gmail с использованием селена, он отлично работает для отправки простых текстовых сообщений. Тем не менее, я хочу разрешить отправку изображений, но когда я нажимаю на кнопку для добавления изображений, я не могу найти какие-либо элементы внутри окна, и это возвращает ошибку "no such element: Unable to locateэлемент " когда я пытаюсь, я уверен, что xpath правильный (я использую полный xpath, поэтому я знаю, что это не потому, что он динамически меняется).
Я пробовалжду после того, как он нажмет кнопку «Изображения», и я попытался использовать move_to_element_with_offset , чтобы щелкнуть по другому элементу, но, похоже, ничего не работает, это не позволит мне найти что-нибудь
воткод, который я использую
import selenium
import time
from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.common.keys import Keys
EMAIL = 'your email'
PASS = 'your password'
TO = 'who you are sending it to'
SUB = 'subject'
MESSAGE = 'what you want to say'
driver = webdriver.Chrome()
action_chains = ActionChains(driver)
action = webdriver.common.action_chains.ActionChains(driver)
driver.get('https://mail.google.com/mail/u/0/#inbox')
time.sleep(2)
#Enter username
user = driver.find_element_by_xpath('//*[@id="identifierId"]')
user.send_keys(EMAIL)
#Go to password
next1 = driver.find_element_by_xpath('//*[@id="identifierNext"]/span/span')
next1.click()
time.sleep(1)
#Enter password
password = driver.find_element_by_xpath('//*[@id="password"]/div[1]/div/div[1]/input')
password.send_keys(PASS)
next2 = driver.find_element_by_xpath('//*[@id="passwordNext"]/span/span')
next2.click()
time.sleep(2)
compose = driver.find_element_by_xpath("/html/body/div[7]/div[3]/div/div[2]/div[1]/div[1]/div[1]/div/div/div/div[1]/div/div")
#Create new message
compose.click()
time.sleep(2)
#Type in who your sending this to
to = driver.find_element_by_name('to')
to.send_keys(str(TO))
#Type in subject
subject = driver.find_element_by_xpath('/html/body/div[26]/div/div/div/div[1]/div[3]/div[1]/div[1]/div/div/div/div[3]/div/div/div[4]/table/tbody/tr/td[2]/form/div[3]/div/input')
subject.send_keys(SUB)
#Type in message
box = driver.find_element_by_xpath('/html/body/div[26]/div/div/div/div[1]/div[3]/div[1]/div[1]/div/div/div/div[3]/div/div/div[4]/table/tbody/tr/td[2]/table/tbody/tr[1]/td/div/div[1]/div[2]/div[1]/div/table/tbody/tr/td[2]/div[2]/div')
box.send_keys(MESSAGE)
#Open image window
imgb = driver.find_element_by_xpath('/html/body/div[26]/div/div/div/div[1]/div[3]/div[1]/div[1]/div/div/div/div[3]/div/div/div[4]/table/tbody/tr/td[2]/table/tbody/tr[2]/td/div/div/div[4]/table/tbody/tr/td[4]/div/div[5]/div/div/div')
imgb.click()
time.sleep(2)
#Attempt to open 'Get image by URL'
web = driver.find_element_by_xpath('/html/body/div[2]/div/div[3]/div[1]')
web.click() #this is where error happens