Python Selenium - 如何单击表中一组元素中的倒数第三个元素?

2024-05-22

今天是个好日子, 有人可以向我解释一下我如何无法获取表中的元素数量吗?我正在浏览多个具有不同长度的表格,并且我总是需要第三个最后一项。我有包含这些的表的 xpath。

使用 Selenium 的 Python API - 如何获取表中的行数? https://stackoverflow.com/questions/4903144/using-seleniums-python-api-how-do-i-get-the-number-of-rows-in-a-table

我找到了这个答案和其他一些答案似乎回答了我的问题,但说实话:此时我只是不明白如何将其实现到我的代码中。

我正在使用 Python 3.6 和 Selenium。如果有人能帮助我那就太好了,因为这个小脚本可以每天节省我 1-2 小时的繁琐工作。

EDIT:

首先,我登录到我的页面,我可以在其中搜索 CustomerID,我使用以下代码:

Customer_IDs = ['100001','100002','100003']
for ID in Customer_IDs:

 customer = browser.find_element_by_id('ContentPlaceHolder1_txtcustomercode')
 customer.send_keys(ID)
 customer.send_keys(Keys.TAB)    
 browser.find_element_by_id("ContentPlaceHolder1_btnsearch").click()

 #here I want go through the table to find the amount of rows

 browser.find_element_by_id("ContentPlaceHolder1_gridview1_refid_1").click()
 browser.find_element_by_id('ContentPlaceHolder1_txtcustomercode').clear()

这个“ContentPlaceHolder1_gridview1_refid_1”基本上就是我需要更改的内容。如果有 10 行,我需要“ContentPlaceHolder1_gridview1_refid_7”等等。

更新A(来自评论)

我有存储文件的表的 xpath。当我想要该表的第一个元素(“ContentPlaceHolder1_gridview1_refid_1”)时,我编写的代码可以正常工作。但我需要倒数第三个元素。

更新B(来自评论)

该表的xpath是:

//*[@id="ContentPlaceHolder1_gridview1"]

更新C(来自评论)

行的 xpath 是:

  • //*[@id="ContentPlaceHolder1_gridview1"]/tbody/tr[1]
  • //*[@id="ContentPlaceHolder1_gridview1"]/tbody/tr[2]

要找到倒数第三行元素与id开始为ContentPlaceHolder1_gridview1_refid_你可以使用以下内容xpath:

browser.find_element_by_xpath("//*[@id='ContentPlaceHolder1_gridview1']/tbody/tr[last()-3]").click()
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python Selenium - 如何单击表中一组元素中的倒数第三个元素? 的相关文章

随机推荐

  • R 和系统调用

    我过去曾使用 R 对命令行进行非常基本的调用 例子可以找到here https stackoverflow com questions 3284301 command line in r code 这一次 我希望模仿这段从 Windows
  • 使用反向传播算法实现感知器

    我正在尝试实现一个具有反向传播的两层感知器来解决奇偶校验问题 该网络有 4 个二进制输入 第一层有 4 个隐藏单元 第二层有 1 个输出 我在用this http page mi fu berlin de rojas neural chap
  • 在 Tensorflow 中使用 tf.while_loop 更新变量

    我想更新 Tensorflow 中的变量 因此我使用 tf while loop 例如 a tf Variable 0 0 0 0 0 0 dtype np int16 i tf constant 0 size tf size a def
  • 理解 Scanf - 处理格式化输入

    我正在尝试弄清楚究竟如何scanf作品 如果我编写这样的代码 scanf s d f name age wage 输入此作为标准输入 james 20 34000 25 然后分别打印出姓名 年龄和工资 我得到的正是人们所期望的 与我输入标准
  • 通过 WebStart 运行时 Java 7 更新 55 JacORB 错误

    自从更新到 Java 7 update 55 以来 我无法运行我的 WebStart java 应用程序 当通过 WebStart 启动时 该应用程序在 Java 7 update 51 下运行良好 当在 WebStart 之外启动时 它还
  • 文件是通过 Visual Studio 下载的,但不是通过 .exe 下载的

    当我尝试下载 a 时出现以下错误 pdf通过我的网址从文件 exe file 服务器违反了协议 部分 响应头 详细信息 CR 后必须跟 LF 但当我尝试从 Visual Studio 调试代码时 也会下载同样的内容 我完全迷失了 不知道发生
  • Python/curve_fit:无法通过初始化猜测传递数组

    我有这个函数来计算某种多项式 def pipoly df pj n np size pj p pj 0 for j in range 1 n p pj j df j return p pj应该是一个包含多项式系数的初始猜测的数组 因此 多项
  • 在实体框架 6 中使用 SqlQuery>

    我正在尝试在 EF 6 中执行 SQL 查询 select查询返回两个字符串列 例如select a b 并且可以有任意数量的行 我想将结果映射到字典 但我无法摆脱以下错误 错误 1 无法将类型 System Data Entity Inf
  • 如何使角度表单只读并可使用编辑按钮进行编辑?

    有没有办法让整个 Angular 表单只读 然后在单击编辑时可编辑 您可以按照当前答案 评论中的建议单独禁用所有表单元素 也可以将所有表单元素包装在 fieldset 更多信息 https developer mozilla org en
  • Gitolite git 克隆错误

    我正在尝试在我的服务器 Macos 服务器 上设置 gitolite 我按照此处找到的安装文档中的说明进行操作 http sitaramc github com gitolite doc 1 INSTALL html http sitara
  • 解压文件的简单方法

    有没有一种简单的方法可以用 Go 解压文件 现在我的代码是 func Unzip src dest string error r err zip OpenReader src if err nil return err defer r Cl
  • 使用 lapply、Reduce 和 union 折叠 data.table 中的行

    我有一个 data table 示例 JACcar 它应该使用下面的代码根据 ID 折叠成一行 但是 我不明白为什么它不会折叠少于 2 行 我还尝试通过将列限制为仅包含 NA 以外的值的列来验证我的输出 因为原始数据中有 123 列 有人可
  • OS X 10.8 上的 PyCuda / 多处理问题

    我正在开发一个项目 将计算任务分配给多个 python 进程 每个进程都与其自己的 CUDA 设备关联 生成子进程时 我使用以下代码 import pycuda driver as cuda class ComputeServer obje
  • Angular - Angular Material 2 步进器控件

    我使用 Angular Material 2 步进器设置了一个线性步进器 我有不同组件 组件a 组件b 组件c 中的表单 在我的主容器组件 容器组件 中 我希望有一个线性步进器 当它们的形式有效时 它可以 步进 通过每个组件 是否有某种功能
  • Java 1.4 上的 ActiveMQ 客户端

    我们在最新版本 5 6 0 中使用 Active MQ 现在我们遇到一个问题 必须连接一个新客户端 不幸的是这个客户端是用IBM JDK 1 4开发的 将 ActiveMQ 添加到应用程序会导致以下错误 UNEXPECTED ERROR O
  • ggplot 中的条形图,每组有不同数量的条形图

    我的数据集如下所示 DSET lt data frame cbind c rep V1 3 rep V2 3 V3 c rep c X1 X2 X3 2 X1 c rep 1 7 names DSET lt c A B C DSET 3 l
  • 拖动数据获取信号发射两次 python gtk3

    我希望源也是目的地 我实现了下面的信号 但拖动数据获取信号触发了两次 第二次 数据变量 在 on drag data get 中 被自动选择的 ListStore 项填充 class DragSource Gtk TreeView def
  • PHP 中的数组按值排序并维护索引关联

    我有一个数组 array array john gt 2 adam gt 3 ben gt 10 tim gt 1 我已经尝试了 PHP 的各种函数来实现这个数组结构 array array tim gt 1 john gt 2 adam
  • 在 Woocommerce 存档页面中显示产品星级评定和价格下方的计数 [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 在 woocommerce 存档页面中 我想将评级移至价格下方 那可能吗 我怎样才能做到呢 这是我想要的 任何帮助表示赞赏 My 网站
  • Python Selenium - 如何单击表中一组元素中的倒数第三个元素?

    今天是个好日子 有人可以向我解释一下我如何无法获取表中的元素数量吗 我正在浏览多个具有不同长度的表格 并且我总是需要第三个最后一项 我有包含这些的表的 xpath 使用 Selenium 的 Python API 如何获取表中的行数 htt