簡體   English   中英

如何創建一個循環使用特定 class 的所有元素並打印找到的所有文本

[英]How can I make a for loop that loops all elements with a specific class and print all the text found

在此處輸入圖像描述

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.alert import Alert
from selenium.webdriver.common.touch_actions import TouchActions
import time
import pyautogui as pg


path = "C:\Program Files (x86)\chromedriver.exe"


driver = webdriver.Chrome(path)

driver.maximize_window()


driver.get("https://www.facebook.com")


Email_entry= driver.find_element_by_xpath('//*[@id="email"]')

Email_entry.send_keys("MyEmail")


Pass_entry= driver.find_element_by_xpath('//*[@id="pass"]')


Pass_entry.send_keys("MyPassword")


sign_in = driver.find_element_by_xpath('/html/body/div[1]/div[2]/div[1]/div/div/div/div[2]/div/div[1]/form/div[2]/button')

sign_in.click()


time.sleep(5)

driver.get("https://www.facebook.com/groups/CSGOTradingCommunity/pending_posts")

time.sleep(5)

See_all_posts = driver.find_element_by_tag_name('html')

See_all_posts.click()


See_all_posts.send_keys(Keys.END)
time.sleep(1)
See_all_posts.send_keys(Keys.END)
time.sleep(1)
See_all_posts.send_keys(Keys.END)
time.sleep(1)
See_all_posts.send_keys(Keys.END)
time.sleep(1)
See_all_posts.send_keys(Keys.END)
time.sleep(1)
See_all_posts.send_keys(Keys.END)
time.sleep(1)
See_all_posts.send_keys(Keys.END)
time.sleep(1)
See_all_posts.send_keys(Keys.END)
time.sleep(1)
See_all_posts.send_keys(Keys.END)
time.sleep(1)
See_all_posts.send_keys(Keys.END)
time.sleep(1)
See_all_posts.send_keys(Keys.END)
time.sleep(1)
See_all_posts.send_keys(Keys.END)
time.sleep(1)
See_all_posts.send_keys(Keys.END)
time.sleep(1)
See_all_posts.send_keys(Keys.END)
time.sleep(2)
See_all_posts.send_keys(Keys.HOME)

我正在嘗試創建一個代碼,該代碼接受我的組中的帖子,這些帖子在帖子描述中具有特定字符串,但幾乎所有 Facebook 元素都是動態的是共享的,所以我無法讓它循環遍歷所有帖子,當它找到第一個帶有此 class 的帖子時,代碼將停止。 任何想法如何解決這個問題?

Ps:這是我第一次寫腳本,任何建議都將不勝感激。

您可以使用:

elements = driver.find_elements_by_class_name('some_class')
for element in elements:
    print(element.text)

另外,如果你在搜索欄中搜索“selenium, find element by class”,你會發現至少有 100 個這樣的例子。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM