使用硒寻找属性的值

问题描述 投票:-1回答:1

[我编写了一个代码,通过使用每个股票的ID来抓取股票数据,如下面的代码:

<a class="inst" href="loader.aspx?ParTree=151311&amp;i=33854964748757477" target="33854964748757477">رنيك</a>

其ID为“ 33854964748757477”并且由于它们将添加新库存并删除一些库存,因此我每天都必须修改代码,并且由于有150多个库存消耗时间,因此我正在寻找一种使用属性“ target”将所有ID抓取到的方法通过硒找到它的价值,然后遍历它们。URL为:http://www.tsetmc.com/Loader.aspx?ParTree=15131F

python selenium web-scraping
1个回答
1
投票

您可以从使用div[class='{c}'] css选择器定位的行中获取ID属性。 WebDriverWait用于等待Web元素的必要条件。要获得属性presence_of_all_elements_located,条件就足够了。

from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

wait = WebDriverWait(driver, 10)

# get all rows
rows = wait.until(EC.presence_of_all_elements_located((By.CSS_SELECTOR, "div[class='{c}']")))

# get ID attributes from rows
ids = [row.get_attribute("id") for row in rows]
© www.soinside.com 2019 - 2024. All rights reserved.