
[英]javascript error: arguments[0].scrollIntoView is not a function using selenium on python
[英]javascript error: arguments[0].scrollTo is not a function using Selenium on python
使用 selenium 啟動我的 python 腳本時,我收到以下錯誤。
File "/usr/local/lib/python3.10/dist-packages/selenium/webdriver/remote/errorhandler.py", line 245, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.JavascriptException: Message: javascript error: arguments[0].scrollTo is not a function
我不確定這里到底發生了什么 - 我會提供更多細節,但這是我正在運行的程序,這個錯誤來自哪里。
def scroll_slow(self, scrollable_element, start=0, end=3600, step=100, reverse=False):
if reverse:
start, end = end, start
step = -step
for i in range(start, end, step):
self.browser.execute_script("arguments[0].scrollTo(0, {})".format(i), scrollable_element)
time.sleep(random.uniform(1.0, 2.6))
如果您發現任何不合適的地方,請提供幫助。
我試過將這部分注釋掉 - 但它弄亂了整個腳本。
Javascript 不能在任何 WebElement 上調用scrollTo()
,只能在Window
object 上調用。
可以有兩種方法:
要么你scrollIntoView()
元素:
self.browser.execute_script("return arguments[0].scrollIntoView(true);", scrollable_element)
或者您在Window
object 上調用scrollTo()
:
self.browser.execute_script("window.scrollTo(0, {});".format(i))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.