【发布时间】:2020-08-15 23:48:09
【问题描述】:
首先我应该说我不是网络开发人员,但我已经将 Selenium 与 Python 一起使用了几个星期,并且认为我已经掌握了基础知识。
我有一个带有每周日历的页面。图片如下:
发生的情况是,您可以单击任何彩色框,这将显示一个班级的注册。它具有您可以单击以显示新信息的项目。我遇到的问题是我无法点击这些项目 - 或者,更确切地说,我不知道如何自动点击。我之前在其他情况下使用 Selenium 自动点击。
看起来如下:
如您所见,日历仍显示在背景中。也就是说,我们单击的项目不会将我们带到新页面,但我想,它会运行某种方法来显示寄存器并用数据填充它。
我的问题是:我想自动化这个过程,以便我可以点击每个项目然后抓取信息。为了做到这一点,我需要能够自动点击每个项目。
那我做了什么?当我之前完成此操作时,我已经在 web html 中搜索了相关部分,然后将 xPath 抓取到了我需要的元素。但在这里我不能这样做。为什么不?好吧,首先,我就是找不到那个元素!
看看第一列的特写:
它分为列,但我希望可点击区域是其中的一个元素。如您所见,事实并非如此。此外,可点击区域只是彩色框本身,但如果您仔细观察,您会发现该元素超出了该区域。我已经非常接近鼠标光标,以查看可点击的确切内容,而且肯定只是彩色框。
所以我根本无法获得该元素。
我以为我点击按钮后可能就能知道我们去了哪里,但是当我得到链接地址时,它只是说这是同一个页面,没有任何区别。
感谢我在这里提出了一个相当广泛的问题,但问题是我真的不知道从哪里开始。如果有人能给我至少这么多,我将不胜感激。就像我可以一次单击其中的每一个一样...我已经找到填充数据的位置,因此我可以毫无问题地抓取它。
好吧,这是希望。
编辑:我应该补充一点,有一些 JavaScript 项目(标签类型脚本,type='text/javascript')。我认为答案就在某个地方,但是有很多 Javascript,我不擅长阅读它。我很难说出什么脚本做了什么。如果我至少可以弄清楚单击该项目时运行的脚本,那么我想我会做一些事情,但我不知道。即使这样也会对我有所帮助。
【问题讨论】:
标签: python selenium web-scraping