Ошибка при входе в Gmail при поиске в Google Автоматизация через Chromedriver с использованием Selenium Python - PullRequest
1 голос
/ 14 июля 2020

Я новичок в RPA, пытаюсь автоматизировать вход в Gmail, выполняя поиск в Gmail в поиске Google (поиск также будет автоматизирован) с использованием Python Selenium-

My code-

from selenium import webdriver
from selenium.webdriver.common.keys import Keys

#Code for lauching google chrome browser
chrome_options = webdriver.ChromeOptions()
#chrome_options.add_argument('- headless')
#chrome_options.add_argument('- no-sandbox')
#chrome_options.add_argument('- disable-dev-shm-usage')

driver = webdriver.Chrome("F:\\RPA\\Using Python\\chromedriver.exe", chrome_options = chrome_options)

driver.get("https://WWW.google.com/")
#print(driver.page_source)

xpathsearch = "//*[@id='tsf']/div[2]/div[1]/div[1]/div/div[2]/input"
searchinput = driver.find_element_by_xpath(xpathsearch)

searchinput.send_keys("Gmail")
searchinput.send_keys(Keys.ENTER)


xpathresult = "//*[@id='rso']/div[1]/div/div[1]/a/h3"
driver.find_element_by_xpath(xpathresult).click()

xpathresult = "/html/body/div[2]/div[1]/div[4]/ul[1]/li[2]/a"
driver.find_element_by_xpath(xpathresult).click(  )

xpathresult = "//*[@id='identifierId']"
driver.find_element_by_xpath(xpathresult).send_keys("somename2651996@gmail.com")

Но в последней строке была ошибка -

NoSuchElementException: no such element: Unable to locate element: {"method":"xpath","selector":"xpathresult"}
  (Session info: chrome=83.0.4103.116)

почему отображается эта ошибка?

NB - я использую chrome диск 83.0.4103.39 Pi c полной ошибки -

введите описание изображения здесь

Не могли бы вы помочь мне решить эту ошибку. Мне не помогли поисковые запросы. Заранее спасибо.

1 Ответ

0 голосов
/ 15 июля 2020

Ошибка отображается, потому что страница входа в учетную запись не может получить дескриптор с предыдущей страницы, поэтому она не может обнаружить Xpath на текущей странице, поэтому отображается ошибка.

Решение-

from selenium import webdriver
from selenium.webdriver.common.keys import Keys

#Code for lauching google chrome browser
chrome_options = webdriver.ChromeOptions()
#chrome_options.add_argument('- headless')
#chrome_options.add_argument('- no-sandbox')
#chrome_options.add_argument('- disable-dev-shm-usage')

driver = webdriver.Chrome("F:\\RPA\\Using Python\\chromedriver.exe", chrome_options = chrome_options)

driver.get("https://WWW.google.com/")
#print(driver.page_source)

xpathsearch = "//*[@id='tsf']/div[2]/div[1]/div[1]/div/div[2]/input"
searchinput = driver.find_element_by_xpath(xpathsearch)

searchinput.send_keys("Gmail")
searchinput.send_keys(Keys.ENTER)


xpathresult = "//*[@id='rso']/div[1]/div/div[1]/a/h3"
driver.find_element_by_xpath(xpathresult).click()

xpathresult = "/html/body/div[2]/div[1]/div[4]/ul[1]/li[2]/a"
driver.find_element_by_xpath(xpathresult).click()

pre_login=driver.current_window_handle

for handle in driver.window_handles:
    if not(handle==pre_login):
        print(handle)
        login_page = handle
        break
        
driver.switch_to_window(login_page)
        

driver.find_element_by_class_name("Aa1VU")

xpathresult = '//*[@id="identifierId"]'
driver.find_element_by_xpath(xpathresult).send_keys("somemailid@gmail.com")
driver.find_element_by_xpath('//*[@id="identifierNext"]/div/button/div[2]').click() 
...