Как отправить ключи в Google Document с помощью Selenium - PullRequest
0 голосов
/ 11 октября 2018

Я пытаюсь использовать Selenium для автоматизации создания Документов Google и добавления к ним произвольного текста.Я создал список под названием doccontent в программе, из которой он извлекает данные, чтобы войти в основную часть документов Google, но я не могу заставить его работать.Вот часть моего кода:

import random
from selenium import webdriver
import time

driver = webdriver.Chrome()

#creating doc
driver.get("https://docs.google.com/document/u/0/")
time.sleep(random.randint(1,2))
newdoc = driver.find_element_by_xpath('//*[@id=":1d"]/div[1]')
newdoc.click()
time.sleep(2)
#adding random doc name

rename = driver.find_element_by_class_name('docs-title-input')
rename.click()
docname = "test" + str(random.randint(1,600))
rename.send_keys(docname)

body = driver.find_element_by_class_name('kix-lineview')
time.sleep(1)
docwords = random.choice(doccontent)
body.send_keys(docwords)

Возвращается с ошибкой:

selenium.common.exceptions.WebDriverException: Сообщение: неизвестная ошибка: невозможно сфокусировать элемент (сеансинформация: chrome = 69.0.3497.100) (информация о драйвере: chromedriver = 2.42.591088 (7b2b2dca23cca0862f674758c9a3933e685c27d5), платформа = Windows NT 10.0.17134 x86_64)

Редактировать:

Просто изменил его на:

#creating doc
driver.get("https://docs.google.com/document/u/0/")
time.sleep(random.randint(1,2))
newdoc = driver.find_element_by_xpath('//*[@id=":1d"]/div[1]')
newdoc.click()
time.sleep(2)
#adding random doc name
rename = driver.find_element_by_class_name('docs-title-input')
rename.click()
docname = "test" + str(random.randint(1,600))
rename.send_keys(docname)

body = driver.find_element_by_class_name('kix-page-column')
time.sleep(1)
docwords = random.choice(doccontent)
actions = ActionChains(driver)
actions.send_keys(Keys.TAB * 15)
actions.perform()
time.sleep(1)
body.send_keys(docwords)

Это попытка вставить документ в документ, но все равно выдает ошибку:

selenium.common.exceptions.WebDriverException: Сообщение: неизвестная ошибка: невозможно сфокусировать элемент (информация сеанса: chrome = 69.0.3497.100) (Информация о драйвере: chromedriver = 2.42.591088 (7b2b2dca23cca0862f674758c9a3933e685c27d5), платформа = Windows NT 10.0.17134 x86_64)

1 Ответ

0 голосов
/ 26 июня 2019

У меня была такая же ситуация.Вот как я смог получить текст в Google Doc:

doc_text = driver.find_element_by_xpath('//body')
doc_text.send_keys('This should be now in the Google Doc's Body')

РЕДАКТИРОВАТЬ: После некоторого тестирования вы должны убедиться, что вы даете некоторое время до полной загрузки страницы и вставляете свой основной текст до вы добавляете заголовок к документу

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...