![](/img/trans.png)
[英]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.