我正在创建一个python程序,它需要能够发送google hangouts消息。我最初尝试使用API,但发现它们仅适用于环聊。所以现在我正在尝试selenium webdriver
。但是尝试打开聊天时遇到了问题;该程序给我一个错误:
NoSuchElementException: no such element: Unable to locate element: {"method":"CSS selector","selector":"div.gS5QBe.R8jgRe"}
(Session info: chrome=69.0.3497.100)
(Driver info: chromedriver=2.38.552522 (437e6fbedfa8762dec75e2c5b3ddb86763dc9dcb),platform=Windows NT 10.0.17134 x86_64)
我的代码:
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from time import sleep
driver = webdriver.Chrome()
driver.get("https://hangouts.google.com/")
driver.find_element_by_id("gb_70").click()
elem = driver.find_element_by_id("identifierId")
elem.send_keys("my_username")
elem.send_keys(Keys.RETURN)
sleep(3)
pas = driver.find_element_by_css_selector("input.whsOnd")
pas.send_keys("my_password")
pas.send_keys(Keys.RETURN)
sleep(10)
driver.switch_to_frame(driver.find_element_by_tag_name("iframe"))
driver.find_element_by_css_selector("div.gS5QBe.R8jgRe")
我尝试过在线查找,但找不到解决方案。这是website。
答案 0 :(得分:2)
页面中将有很多iframe。为元素所保存的特定iframe创建定位符。我看到第二个iframe具有新的消息按钮。
driver.switch_to_frame(driver.find_element_by_xpath("(//iframe)[2]"))
但是我建议您使用Google提供的Hangout API