NoSuchElementException: Сообщение: такого элемента нет (iframe находится в блоке div и не имеет другого URL) Как получить доступ к элементам в нем? - PullRequest
0 голосов
/ 05 мая 2020

На картах Google / mymaps я хочу щелкнуть ссылку URL-адреса изображения, которая показана на картинке. но я не могу найти, как найти этот элемент, потому что фрейм переключения также не помогает, он дает ошибку, как показано в коде. как получить доступ к этому элементу?

Это код

browser = webdriver.Chrome('chromedriver')
browser.get('https://www.google.com/maps/d/edit? 
mid=1NnvS3sQHH8_zBbp4im56hzPvw- 
Lm5Xzf&ll=29.823032930744613%2C69.34511550000002&z=5')
pyautogui.click(970,30)


time.sleep(3)

search_username=
browser.find_element_by_xpath('//[@id="identifierId"]')
search_username.send_keys("Email goes here")
search_username.send_keys(Keys.RETURN)

search_pasword = WebDriverWait(browser, 10).until(
    EC.presence_of_element_located((By.XPATH, 
    '/html/body/div[2]/div[2]/div[2]/div/div[2]
     /div/div/div[2]/div/div[2]/div/form/span
    /section/div/div/div[2]/div[2]/div/div/div
    /div/div[2]/div/div[2]/input')))

search_pasword.send_keys("password")
search_pasword.send_keys(Keys.RETURN)


time.sleep(3)

adress_input = WebDriverWait(browser, 10).until(
    EC.presence_of_element_located((By.ID, "mapsprosearch-field")))
adress_input.send_keys("islamabad")
adress_input.send_keys(Keys.RETURN)

time.sleep(3)
adress_input = WebDriverWait(browser, 10).until(
        EC.presence_of_element_located((By.XPATH, '//*[@id="addtomap-button"]'))).click()
#add_to_map = browser.find_element_by_xpath('//*[@id="addtomap-button"]').click()

remove = browser.find_element_by_xpath('/html/body/div[3]/div/div[5]/div[1]/div/div[1]/div[3]/div/div[4]/div[2]/div/div/div/div/div/div[2]/div[3]/div[1]').click()

edit = browser.find_element_by_xpath('//*[@id="map-infowindow-edit-button"]').click()

text_editor = browser.find_element_by_xpath('//*[@id="map-infowindow-attr-name-value"]')
text_editor.clear()
text_editor.send_keys("Islamabad Pakistan")

description_editor = browser.find_element_by_xpath('//*[@id="map-infowindow-attr-description-value"]')
description_editor.clear()
description_editor.send_keys("Islamabad Pakistan")

image_option = browser.find_element_by_xpath('//*[@id="map-infowindow-image-editing-button"]').click()

browser.switch_to.frame(browser.find_element_by_id('l217jg64vzri'))

image_url = browser.find_element_by_xpath('//*[@id=":7"]').click()

'' '

Это ошибка терминала в визуальном коде

PS E:\PYTHON\Automation project> & 
C:/Users/SUNNY/AppData/Local/Programs/Python/Python38/python.exe 
"e:/PYTHON/Automation project/web_autimation.py"

DevTools listening on 
ws://127.0.0.1:50427/devtools/browser/905318c3-8232-4d8c-a31c- 
fde77ae7e281
[22388:8836:0505/212329.618:ERROR:browser_switcher_service.cc(238)] 
XXX Init()
helo
Traceback (most recent call last):
File "e:/PYTHON/Automation project/web_autimation.py", line 59, in 
<module>
browser.switch_to.frame(browser.find_element_by_id('l217jg64vzri'))
File 
 "C:\Users\SUNNY\AppData\Local\Programs\Python\Python38\lib\site- 
 packages\selenium\webdriver\remote\webdriver.py", 
 line 360, in find_element_by_id
 return self.find_element(by=By.ID, value=id_)
File 
"C:\Users\SUNNY\AppData\Local\Programs\Python\Python38\lib\site- 
packages\selenium\webdriver\remote\webdriver.py", 
line 976, in find_element
return self.execute(Command.FIND_ELEMENT, {
File 
"C:\Users\SUNNY\AppData\Local\Programs\Python\Python38\lib\site- 
packages\selenium\webdriver\remote\webdriver.py", 
line 321, in execute
self.error_handler.check_response(response)
File 
"C:\Users\SUNNY\AppData\Local\Programs\Python\Python38\lib\site- 
packages\selenium\webdriver\remote\errorhandler.py", line 242, in 
check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.NoSuchElementException: Message: no such 
element: Unable to locate element: {"method":"css 
selector","selector":"[id="l217jg64vzri"]"}
(Session info: chrome=81.0.4044.129)

Изображение из Mymaps при открытом осмотре. как вы можете видеть, i frane находится внутри div, и этот кадр i имеет собственное тело html и связан со ссылкой на документы, которую я предоставил

Это ссылка страницы , о которой я говорю по картам. откройте и посмотрите. Я хочу получить доступ к ссылке на изображение

...