为什么不是可点击的,但execute_script有意义。Python、Selenium、JS in href [duplicate]

Why not clickable, but execute_script make sense. Python, Selenium, JS in href [duplicate]

提问人:leonbear 提问时间:3/5/2018 最后编辑:Ratmir Asanovleonbear 更新时间:1/21/2019 访问量:127

问:

在 Python 中,使用 Selenium,我试图通过爬虫自动获取有关 NAE 成员的一些信息。所以我从这个页面开始。

我通过 xpath 找到了下一页的元素,我确信这是正确的。"//*[@title=\"Next Page\" and @class=\"next_page\"]"

然后我发现我不能“点击”这个元素,这意味着我无法获得下一页。

现在我发现使用:

element.execute_script 

在元素的 href 中执行 JavaScript,并获取下一页。

所以,我的问题是,为什么我得到一个不可点击的异常,为什么我可以这样做execute_script?

无论如何,非常感谢阅读这个问题的人,非常感谢您的所有评论。

谢谢。

JavaScript Python 网络爬虫

评论

0赞 leonbear 3/5/2018
谢谢你@Andersson,我错过了那篇帖子,这是同一个故事。

答:

0赞 Ratmir Asanov 3/5/2018 #1
  1. 尝试使用显式等待:

element = ui.WebDriverWait(driver,10).until(EC.element_to_be_clickable((By.CSS_SELECTOR, ".next_page")))

  1. 在单击下一页之前,请滚动到此元素:

driver.execute_script("arguments[0].scrollIntoView(true);", element)

  1. 然后点击这个按钮:

element.click()

希望对你有帮助!