Selenium Python使用键盘快捷键打开群组中的所有Facebook帖子



我正在尝试进入Facebook群组并浏览前20个帖子。通常,Facebook必须使用键盘快捷键来帮助浏览帖子。一个是"j"键,它从一个帖子到另一个帖子。下一个是"ENTER"键,如果帖子太长,它会展开帖子(例如单击"查看更多"。通常,如果我只是重复发送垃圾邮件"j"+ ENTER,它会遍历所有帖子并尽可能扩展它们。我有以下Selenium Python代码来执行这样的行为:

i = 0
while i < 20:
time.sleep(1)
element = driver.find_element_by_tag_name("body")
driver.find_element_by_tag_name("body").send_keys(Keys.ARROW_DOWN + "j" + Keys.ENTER)
i += 1

它将转到所有帖子,它只扩展第一个可能的"查看更多",但不扩展其他任何内容。我将如何设计此代码?

对于任何想知道Keys.ARROW_DOWN的人,它可以在另一个堆栈溢出问题中找到:点击这里

谢谢!

您的代码中有一个小错误。您的代码每次在循环中都会找到 body 元素,因此在每次迭代时,它将找到"body"元素,并在每次迭代时对第一个元素执行发送键函数。

您的代码应修改为:

i = 0
element = driver.find_element_by_tag_name("body")
while i < 20:
time.sleep(1)
element.send_keys(Keys.ARROW_DOWN + "j" + Keys.ENTER)
i += 1

希望这有帮助。

最新更新