如何在selenium中按顺序单击元素

2024-04-29 04:07:16 发布

您现在位置:Python中文网/ 问答频道 /正文

这是一个非常奇怪的问题。 因此,我想刮取一个在视口中一次包含15个元素的网站,它会更改其15个元素,并在向下滚动所有15个元素时向之前的15个元素添加新元素。 该网站的元素不符合顺序,我的意思是,如果您在该网站中有4个联系人,则该网站向普通用户显示的顺序如下:

  1. 妈妈
  2. 爸爸
  3. 儿子
  4. 女儿
  5. 姊妹
  6. 女仆

但是,在这6个元素中的inspect元素中,顺序就像mom元素在子元素下面,子元素在爸爸元素上面。sister和maid不在视图端口中,也不在源代码中,要在源代码中获得它们,我必须向下滚动到sister。 就像这个网站故意让我们困惑一样

我想知道的是,我如何才能像普通用户一样点击妈妈、爸爸、儿子、女儿,然后点击妹妹,然后点击女佣。因此,基本上,我可以击败网站故意混淆代码

我正在使用的代码:

    while True:
        time.sleep(4)
        self.conversations = self.driver.find_elements_by_xpath("//div[@class='_2wP_Y']")      # Get 15 elements
        for conversation in self.conversations:
            try:
                conversation.click()
            except Exception:
                pass
            time.sleep(7.5)
        time.sleep(3.5)
        print("Scrolling Down")
        self.driver.execute_script("var bar = document.getElementById('pane-side'); bar.scrollBy(0,2376)")

谢谢,我是这方面的新手,稍后我会更改while条件


Tags: 代码self元素源代码time顺序网站sleep