Python Selenium 通过链接循环

2024-03-27

我对 python 或编码很陌生......

这部分代码允许我找到我想要单击的所有元素(单击链接打开一个新选项卡)

from selenium import webdriver
import time

driver = webdriver.Chrome()
driver.get("http://www.rezultati.com/kosarka/filipini/kup/")

list_of_links = driver.find_elements_by_css_selector(".cell_ad.time")
for link in list_of_links:
    link.click()

显然这个 for 循环只打开链接.. 我感兴趣的是如何添加类似这样的内容来收集一些数据:

# wait to open link
time.sleep(3) 
# handle new window
newtab = driver.current_window_handle
driver.switch_to_window(newtab)
# collecting data and print data
date = driver.find_elements_by_class_name("mstat-date")
for d in date:
    print(d.text)
# Some code to close newtab?
????

我如何在整个 for 循环中实现这一点..换句话说,想要进入每个链接并收集一些数据..是否可能?一些建议或示例代码?


您可以尝试下面的代码,该代码允许在循环中处理具有匹配结果的每个窗口:

from selenium import webdriver

driver = webdriver.Chrome()
driver.get("http://www.rezultati.com/kosarka/filipini/kup/")

list_of_links = driver.find_elements_by_css_selector(".cell_ad.time")
cur_win = driver.current_window_handle # get current/main window

for link in list_of_links:
    link.click()
    driver.switch_to_window([win for win in driver.window_handles if win !=cur_win][0]) # switch to new window
    date = driver.find_elements_by_class_name("mstat-date")
    for d in date:
        print(d.text)
    driver.close() # close new window
    driver.switch_to_window(cur_win) # switch back to main window
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python Selenium 通过链接循环 的相关文章

随机推荐

  • 无法将可等待传递给 asyncio.run_coroutine_threadsafe

    我观察到asyncio run coroutine threadsafe函数不接受一般的可等待对象 我不明白这种限制的原因 观察 import asyncio async def native coro return asyncio cor
  • 如何生成 5 个总和为 100 的随机数 [重复]

    这个问题在这里已经有答案了 你知道一种将整数分成 5 组的方法吗 每组总数必须是随机的 但总数必须等于固定数字 例如我有 100 我想把这个数字分成 1 20 2 3 3 34 4 15 5 18 编辑 我忘了说 是的 平衡是一件好事 我想
  • Android 中的内存不足错误

    我创建了一款使用图像的游戏 并且我的游戏处于纵向和横向模式 我有两种不同的布局 当我从 1 方向切换到其他方向时 执行此操作 5 6 次后 会出现强制关闭错误 错误是这样的 原因 java lang OutOfMemoryError 位图大
  • 正确完成管道中的多处理

    我想知道多重处理是如何正确完成的 假设我有一个清单 1 2 3 4 5 由函数生成f1这是写到Queue 左绿色圆圈 现在我启动两个从该队列中提取的进程 通过执行f2在过程中 他们处理数据 例如 将值加倍 并将其写入第二个队列 现在 函数f
  • 在纯函数语言中,有没有算法可以得到反函数?

    在像 Haskell 这样的纯函数语言中 是否有一种算法可以在双射时获得函数的逆函数 编辑 有没有一种特定的方法来对你的函数进行编程 在某些情况下 是的 有一种漂亮的纸叫其中讨论了几种情况 当你的函数足够多态时 可以完全自动地导出反函数 它
  • r 两个方向都有误差条的散点图

    如何创建在两个方向上带有误差线的散点图 通常误差线位于垂直方向 即 y 值的不确定性 但是我的数据的 x 值也存在不确定性 X ErrX Y ErrY 1 0 0 1 3 0 0 2 1 5 0 3 4 2 0 1 etc Using gg
  • Golang 中的 Shell 扩展(命令替换)

    Go 支持变量扩展 例如 os ExpandEnv 测试 USER gt gt 测试 MyName 但有没有办法扩展可执行文件 就像 shell 的行为方式一样 就像是 os ExpandExecutable 测试 日期 H M gt gt
  • Javascript 获取 PHP 变量中的屏幕宽度

    我有一个响应式网站 其中有简单的下拉登录菜单 http www red team design com simple and effective dropdown login box当网站处于其他导航链接旁边的 桌面 视图 屏幕可用宽度 g
  • 何时使用 RabbitMQ 铲子以及何时使用 Federation 插件?

    对于我工作的公司 我们希望使用 RabbitMQ 作为我们的主要消息总线 我们的想法是 每个应用程序都使用自己的虚拟主机进行内部通信 并且通过 shovel 或联合插件 我们可以在多个虚拟主机 甚至可能是多台机器 非集群 之间共享某些类型的
  • Android 中的图像数组

    我正在尝试使用图像数组 然后将 ImageView 设置为数组中的图像之一 我的第一反应是使用带有图像名称的字符串数组 但这不起作用 我该如何做到这一点 制作一个可绘制数组 其中图像名称不带引号或什么 取决于你的图像在哪里 但如果 R dr
  • 如何使用 SSIS 包中的变量值加载新表?

    我在 SSIS 包 Var1 和 Var2 中有两个变量 这两个变量都有值 有什么方法可以将这两个变量的值放入新表中吗 例如 在新表 col1 中 其值为 Var1 col2 的值为 Var2 Thanks 有几种方法可以做到这一点 一种是
  • 即使使用复制本地,也无法加载文件或程序集“Microsoft.SqlServer.Types”

    我的网络应用程序有一份内部报告 当我在本地浏览该报告时 该报告会按预期显示 我正在使用一个rdlc and xsd有标准的apsx用于呈现报告的网页 我现在已部署到我的临时服务器 当我尝试浏览显示我收到的报告的页面时 An unexpect
  • 如何在 PDO fetchAll 中正确使用 while 循环

    请对我宽容一些 我刚刚开始学习 PDO 并且仍在寻找如何将 mysqli 转换为 PDO 的方法 所以我有一个函数可以从数据库中获取内容 function getContent db PDOconn query SELECT FROM po
  • DI 容器如何知道构造函数需要什么(ASP.NET Core)?

    我读过很多关于什么是 DI 以及如何使用它的文档 与 ASP NET Core 相关 据我了解 当框架为我实例化某个控制器时 它以某种方式知道该控制器的类需要传递给构造函数 是反射还是什么 有人可以告诉我在 ASP NET Core Git
  • 在 Rails + MySQL 中存储百分比

    我需要在 Rails 应用程序中使用百分比 在任何视图中 包括用户输入时 格式都需要是百位格式 100 000 在计算中使用时 需要以百分位的格式表示 1 00000 我的迁移 我将该列添加到现有表中 具有以下行 add column wo
  • 停止执行另一代码的代码

    我有一个R进行一些数据分析并返回的代码TRUE FALSE 有时 输入数据太大 代码就继续运行 我想要一个脚本来监视我的数据分析代码 如果它没有返回任何内容 比如说600 seconds 然后它会停止正在运行的代码并执行其他操作 就会像按S
  • C++ if 语句中的多个条件

    我对 C 编程的概念非常陌生 我想要使 用多条件 if 语句 或 和 和 在一份声明中 当我向我的大学教授询问此事时 她告诉我这是可能的 然后侮辱了我在这个问题上有限的知识 我有权访问的所有示例都显示了多个 语句 并且只有一个显示了 它没有
  • HTML - 如何在提交按钮上弹出确认窗口,然后发送请求?

    我正在学习网络开发Django并且在哪里放置负责是否提交请求的代码方面存在一些问题HTML code 例如 有一个网页包含form 博客 由用户填写 点击保存按钮后 会弹出一个窗口询问是否要confirm或不 如果点击confirm 然后发
  • 我如何用 es6(不带打字稿)开玩笑地模拟 Prisma 客户端?

    Prisma 文档提供了模拟客户端以及使用 jest 和 typescript 进行单元测试的示例 有没有办法在不使用 TypeScript 的情况下开玩笑地嘲笑客户端 如果您能举一个简单的例子 我将不胜感激 需要补充的小事情 我在项目中使
  • Python Selenium 通过链接循环

    我对 python 或编码很陌生 这部分代码允许我找到我想要单击的所有元素 单击链接打开一个新选项卡 from selenium import webdriver import time driver webdriver Chrome dr