私は、この要素へのスクロールを除いて完全に機能する仕事を持っています://span[text()="Next Page"]
on this page。ジョブがウェブページ上の特定のテキストにスクロールしない
手動でスクロールすると動作しがちです。
element = driver.find_element_by_xpath('//span[text()="Next Page"]')
driver.execute_script("return arguments[0].scrollIntoView();", element)
と同様に:
clickMe = wait(driver, 10).until(EC.element_to_be_clickable((By.XPATH, ('//span[text()="Next Page"]'))))
clickMe2 = driver.find_elements_by_xpath('//span[text()="Next Page"]')
actions = ActionChains(driver)
actions.move_to_element(clickMe2).click()
element = driver.find_element_by_xpath('//span[text()="Next Page"]')
element.location_once_scrolled_into_view
driver.execute_script("arguments[0].scrollIntoView();", clickMe2)
それは仕事を経由して、次の行でエラーを与える:driver.execute_script("arguments[0].scrollIntoView();", clickMe2)
完全なエラー:
Traceback (most recent call last):
File "C:/Users/Bain3/PycharmProjects/untitled4/Crownbet.py", line 2674, in <module>
driver.execute_script("arguments[0].scrollIntoView();", clickMe2)
File "C:\Users\Bain3\Anaconda3\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 532, in execute_script
'args': converted_args})['value']
File "C:\Users\Bain3\Anaconda3\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 297, in execute
self.error_handler.check_response(response)
File "C:\Users\Bain3\Anaconda3\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 194, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.WebDriverException: Message: unknown error: arguments[0].scrollIntoView is not a function
(Session info: chrome=61.0.3163.100)
(Driver info: chromedriver=2.31.488763 (092de99f48a300323ecf8c2a4e2e7cab51de5ba8),platform=Windows NT 10.0.15063 x86_64)
のフル
はを更新しました。
私が上で、以前からこれを削除した。しかし、むしろ、その特定の要素に比べてページ全体をスクロールするようだ
#SCROLL_PAUSE_TIME = 0.5
#last_height = driver.execute_script("return document.body.scrollHeight")
#while True:
#driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")
#time.sleep(SCROLL_PAUSE_TIME)
#new_height = driver.execute_script("return document.body.scrollHeight")
#if new_height == last_height:
#break
#last_height = new_height
。これはである:
clickMe = wait(driver, 15).until(EC.element_to_be_clickable((By.XPATH, ('//span[text()="Next Page"]'))))
element1 = driver.find_element_by_xpath('//span[text()="Next Page"]')
driver.execute_script("return arguments[0].scrollIntoView();", element1)
Hmmはまだ私にとってはunclickableです:lenium.common.exceptions.WebDriverException:メッセージ:不明なエラー:要素 ...はポイント(883、31)でクリックできません。
「driver.find_element_by_tag_name( 'body')。send_keys(Keys.UP + Keys.UP) 'を試してみてください。 'driver.find_element_by_tag_name( 'body')。send_keys(Keys.UP)' – Andersson
time.sleepを追加すると動作するようです。 HMMはスクロールアップや何か同様のコマンドを待つ。 – Tetora