【问题标题】:How to scroll down an element on page如何向下滚动页面上的元素
【发布时间】:2021-05-03 22:02:25
【问题描述】:

我想从https://justjoin.it/ 中抓取公司名称,但是我的scraper 页面滚动出现问题。我通常使用以下方法来向下滚动页面:

driver.execute_script("window.scrollTo(0, x)")

很遗憾,此页面上的 execute_script 方法不起作用。

我也尝试通过 send_keys 方法使用表 od 名称操作元素,但我的脚本引发错误:

elem = driver.find_element_by_xpath('//*[@id="root"]/div[2]/div[1]/div/div[2]/div[1]/div')
elem.send_keys(Keys.END)



selenium.common.exceptions.ElementNotInteractableException: Message: element not interactable

有人知道如何处理这个问题吗?

【问题讨论】:

标签: python python-3.x selenium selenium-webdriver


【解决方案1】:

试试这个

driver.execute_script("window.scrollTo(0,document.body.scrollHeight)")

【讨论】:

  • 还是不行。在您单击包含工作机会列表的元素之前,该页面对滚动页面不敏感。
  • 好的,那么为什么不首先单击包含工作机会列表的元素,然后滚动到您要查找的元素?
【解决方案2】:

正如您所写,您首先必须单击包含工作机会列表的元素,然后滚动到所需的元素。
在这种情况下滚动可以正常工作

【讨论】:

  • 所以我尝试应用这样的代码行:driver.find_element_by_xpath('//*[@id="root"]/div[2]/div[1]/div/div[2 ]/div[1]/div').click() 但是当我运行脚本时,驱动程序会打开列表中显示的工作机会之一。
  • 尝试点击其他元素,这样它会激活页面,但不会打开任何链接。我想这样做有很多选择。
猜你喜欢
  • 1970-01-01
  • 2015-01-19
  • 2020-12-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-05-26
  • 2021-03-21
  • 1970-01-01
相关资源
最近更新 更多