-2

尝试使用 Python 在 Facebook 上发送消息。所有步骤都有效,直到将文本放入 textarea 以发送。获取错误代码:

无法定位元素:{"method":"css selector","selector":"div textarea.uiTextareaNoResize"}

这是整个代码:

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import sched, time, timeit
import random
import getpass
import sys

driver = webdriver.Chrome('C:\path\chromedriver.exe')
driver.get('https://www.facebook.com/')

username_box = driver.find_element_by_id('email')
username_box.send_keys("USEREMAIL")
passElem = driver.find_element_by_id("pass")
passElem.send_keys("USERPASS")
passElem.send_keys(Keys.RETURN)
userTargetUrl = "https://www.facebook.com/messages/t/" + "USERTARGET NAME"
driver.get(userTargetUrl)

elem = driver.find_element_by_css_selector("div textarea.uiTextareaNoResize")

elem.send_keys("Test")
elem.send_keys(Keys.RETURN)
driver.find_element_by_id("u_0_t").click()

这里发生错误:

elem = driver.find_element_by_css_selector("div textarea.uiTextareaNoResize")

elem.send_keys("Test")
elem.send_keys(Keys.RETURN)
driver.find_element_by_id("u_0_t").click()

在控制台上收到此消息:

selenium.common.exceptions.NoSuchElementException: 
Message: no such element: 
Unable to locate element: {"method":"css selector","selector":"div textarea.uiTextareaNoResize"}
      (Session info: chrome=63.0.3239.132)
      (Driver info: chromedriver=2.35.528161 (5b82f2d2aae0ca24b877009200ced9065a772e73),platform=Windows NT 10.0.15063 x86_64)

此处的代码失败:

elem = driver.find_element_by_css_selector("div textarea.uiTextareaNoResize")

在这张图片中,您可以看到我希望在哪里写下我的信息。

4

1 回答 1

0

您必须设置一个变量来存储 graph.request 响应,然后打印它:

token = 'access_token'
graph = facebook.GraphAPI(access_token=token, version="2.11")
response = graph.request('search', {'q': 'Mark Zuckerberg', 'type': 'user'})
print(response)

此外,如果您具有 access_token 值,则无需通过 Selenium 登录。

于 2018-01-19T00:14:35.343 回答