动态表和页面滚动Selenium Python

问题描述

我正在尝试使用Selenium python自动化客户端平台。由于数据政策的原因,我在屏幕截图和HTML代码中使用了伪名称

目标:要从菜单中选择多个元素(菜单中共有1008个元素,它们是恒定的),然后单击“下一步”按钮。注意:A B C是我需要访问的元素的伪显示图块。另外,此滚动器不存在于HTML代码本身的主体上。它更像是重叠。我正在使用以下命令在此叠加层上上下滚动。

browser.execute_script('document.getElementById(“ pt1:ExtraMeasuresPage1 :: scroller”)。scrollBy(0,600)')

enter image description here

问题:在某个时间点上,屏幕上仅可见13个元素。向上或向下滚动后,它将丢失其他内容。另外,每个元素都有其显示标题,因此,我需要通过其显示标题(而不是ID)访问元素。我尝试通过代码循环和短语创建动态ID。但是,问题在于,滚动器的全部内容被分成HTML代码中的两个表,并且每次我们向上或向下滚动时,表都会刷新。在任何给定点,div [@id =“ pt1:ExtraMeasuresPage1 :: db”]中将只有一个或两个表。所有1008个元素都有固定的ID,它们不会更改。唯一的变化是div [@id =“ pt1:ExtraMeasuresPage1 :: db”]中的表数(一个表中有2个表),并且表的属性(_startrow)发生了变化。

例如,我需要选择两个元素,其中一个是要显示在屏幕上的前13个元素,另一个是要显示在屏幕上的后13个元素。

请在下面找到HTML代码

enter image description here

如果我打开桌子[@ _stratrow =“ 11”],它将看起来像

enter image description here

每个tr将进一步包含一个带有显示图块的表格。例如这样

enter image description here

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)