我正在嘗試用 selenium 制作一個 twitter 機器人,它將獲取推文的鏈接,然后一一回復。YouTube上有很多教程。我有很多問題。首先,只有當我退出我的推特賬戶時,推文才會在彈出窗口中打開,否則不會。我不知道原因。當推文在彈出窗口中打開時,心形按鈕的類是“HeartAnimation”。如果我登錄了,我無法獲得推文的“數據-pemalink-path”。現在我找不到回復按鈕的類別。我正在使用的課程不起作用。它正在拋出 NoSuchElement 異常。這是我的代碼。如果我做錯了什么,請告訴我。from selenium import webdriverfrom selenium.webdriver.common.keys import Keysimport timedriver = webdriver.Firefox()hashtag = 'pycon'driver.get('https://twitter.com/search?q='+hashtag+'&src=typd')time.sleep(3)for i in range(1,3): driver.execute_script('window.scrollTo(0,document.body.scrollHeight)') time.sleep(30) tweets = driver.find_elements_by_class_name('tweet') links = [elem.get_attribute('data-permalink-path') for elem in tweets] time.sleep(3)driver.get('https://twitter.com/login?prefetchTimestamp=1569146832519')username_field = driver.find_element_by_class_name('js-username-field.email-input.js-initial-focus')username_field.send_keys('email')time.sleep(0.5)pass_field = driver.find_element_by_class_name('js-password-field')pass_field.send_keys('password')time.sleep(0.5)driver.find_element_by_class_name('submit.EdgeButton.EdgeButton--primary.EdgeButtom--medium').click()time.sleep(3)for link in links: driver.get('https://twitter.com' + link) time.sleep(7) driver.find_element_by_class_name('css-1dbjc4n.r-18u37iz.r-1h0z5mdr-3qxfft.r-h4g966.r-rjfia').click() time.sleep(2) reply = driver.find_element_by_class_name('notranslate.public-DraftEditor-content') reply.send_keys('wow!') time.sleep(2) driver.find_element_by_class_name('css-18t94o4.css-1dbjc4n.r-urgr8i.r-42olwf.r-sdzlij.r-1phboty.r-rs99b7.r-1w2pmg.r-1n0xq6e.r-1vuscfd.r-1dhvaqw.r-1fneopy.r-o7ynqc.r-6416eg.r-lrvibr').click() time.sleep(8)
2 回答

慕仙森
TA貢獻1827條經驗 獲得超8個贊
在不使用 selenium 的情況下,還有一種使用 twitter-scraper 的方法。 https://qiita.com/katafuchix/items/6fd6b15685fe48f69e89
添加回答
舉報
0/150
提交
取消