python - 从网站/selenium /python 中获取列表
问题描述
我正在尝试从像这样的元素中获取列表
<a href="/Max/Project" itemprop="name codeRepository">Project</a>
xpath是
/html/body/div[4]/main/div[2]/div/div[2]/div[2]/div/div[2]/ul/li[1]/div[1]/div[1]/h3/a
我已经试过了
ids = driver.find_elements_by_xpath("a[@id='user-repositories-list']")
但它不显示包含此 git 用户的存储库的列表。
BR,谢谢
解决方案
您可以像这样检索 git 用户的存储库链接:
repos = WebDriverWait(driver, 10).until(EC.visibility_of_all_elements_located((By.XPATH, "//div[@id='user-repositories-list']/ul/li/div/div/h3/a")))
repo_names = []
for repo in repos:
href = repo.get_attribute("href")
href = href.rsplit('/', 1)[1]
repo_names.append(href)
print(repo_names)
然后,您只需要进行一些文本解析即可从链接中提取 repo 的名称。
注意 html 的嵌套结构。在 id='user-repositories-list' 下,可以找到存储库的所有块。h3
代表三阶标题,a
标签表示超链接。WebDriverWait 确保等到所有元素都可见并且可以找到。
推荐阅读
- python - 使用按钮更新标签变量
- jquery - 试图弄清楚如何将值插入到 JQuery 表中的 onclick 调用中
- pointers - 为空指针赋值
- python - 如何单击下一步按钮以使用 selenium python 从所有页面中抓取数据?
- javascript - 如何在 carousel-control-next 的“上方”放置一个按钮
- python - 如何将一个数字数组链接到另一个数字数组?
- transform - 如何使用 gdal 通过一个命令将 png tile 的投影从 epsg:4326 转换为 epsg:3857
- python - 在 Django 应用程序中使用 gmail smtp 发送电子邮件时出错
- java - 为什么函数 checkAB 不能正常工作?
- python - 在哪里可以找到函数的 kwargs/args 文档