[英]Get h3 tag text with identified element with selenium python
[英]How do I Iterate through different tag names (h3) and compare their text using selenium and python?
我的目標是按名稱查找產品列表,然后單擊它。 目前,我想使用 for 循環遍歷所有帶有標簽名稱 h3 的文本,並在文本等於我想要的產品時結束循環。 現在很明顯,我的代碼當前找到了第一個列表,然后遍歷字符串中的字符。 我想要它做的是遍歷不同的元素並提取它們的文本。 我將不勝感激任何建議,並會迅速回答任何問題。 謝謝!
代碼:
from selenium import webdriver
PATH = "/Users/devinhadley/Desktop/chromedriver"
driver = webdriver.Chrome(PATH)
driver.set_window_size(200, 200)
driver.get("https://shop-usa.palaceskateboards.com/")
elements = []
elements = driver.find_element_by_tag_name("h3").text
for element in elements:
print(element)
if element = "PERTEX PACKET JACKET GREY"
print("Done")
嘗試這個:
from selenium import webdriver
PATH = "/Users/devinhadley/Desktop/chromedriver"
driver = webdriver.Chrome(PATH)
driver.set_window_size(200, 200)
driver.get("https://shop-usa.palaceskateboards.com/")
elements = driver.find_elements_by_tag_name("h3")
for element in elements:
if element.text == "PERTEX PACKET JACKET GREY":
print(element)
更新:我打開網頁,發現find_elements_by_tag_name("h3")
不起作用。 以下將做:
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
PATH = "/Users/devinhadley/Desktop/chromedriver"
driver = webdriver.Chrome(PATH)
driver.set_window_size(200, 200)
driver.get("https://shop-usa.palaceskateboards.com/")
elements=WebDriverWait(driver, 2).until(EC.visibility_of_all_elements_located((By.XPATH, '//div[@data-alpha]')))
for element in elements:
if element.get_attribute('data-alpha') == "PERTEX PACKET JACKET GREY":
print(element.get_attribute('data-alpha'))
element.click()
如果要單擊特定元素,可以在 for 循環或elements[0].click()
element.click()
) ,例如,如果要單擊第一個元素。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.