python - 使用 selenium 查找属性的值
问题描述
我编写了一个代码来使用每个股票的 ID 来抓取股票数据,如下面的代码:
<a class="inst" href="loader.aspx?ParTree=151311&i=33854964748757477" target="33854964748757477">رنيك</a>
ID 是“33854964748757477”
,因为他们会添加新股票并删除一些我必须每天修改代码,因为有超过 150 只股票很耗时,我正在寻找一种方法来抓取所有ID 使用属性“target”通过 selenium 查找其值,然后遍历它们。网址是:http ://www.tsetmc.com/Loader.aspx?ParTree=15131F
解决方案
div[class='{c}']
您可以使用css 选择器从位于的行中获取 ID 属性。WebDriverWait
用于等待网页元素的必要条件。获得属性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]
推荐阅读
- sql - 将一段 SQL 转换为 Oracle 函数
- java - Maven 依赖冲突 selenium-firefox-driver vs tint-runner
- java - Importing Spring Framework in groovyConsole throws error
- android - IBM Watson visualRecognition.classify 方法超时
- php - Symfony 4,从自定义类(不是控制器类)获取项目的根路径
- java-8 - 使用资源尝试时丢失 ZLIB 输入流失败
- docker - 在 Azure DeVops 中为部署在 Kubernetes 上的 docker 映像标记最佳实践
- c# - 在 AR 环境中显示设备摄像头的输入
- powershell - 空值似乎在 foreach 循环中产生不正确的数据
- javascript - 如何在 React 中使用“this.props.params”?