はい、これは、下部にCookie浮動フッタがあるためです。 Seleniumはあなたのボタンをビューにスクロールしますが、それはクッキーフローティングdivの上にスクロールする必要があることを認識しません。
私は、クッキーメッセージの閉じるボタンをクリックするか、クッキーメッセージの背後から要素をスクロールすることをお勧めします。
クッキーを閉じるには、[閉じる]をクリックし、それが消えるのを待ちたいとしている:
from selenium import webdriver
from selenium.webdriver.support import expected_conditions as ec
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
chrome_path = '/Users/username/Downloads/chromedriver'
driver = webdriver.Chrome(chrome_path)
driver.get('https://www.iens.nl/restaurant+utrecht')
# Wait for cookie message
close_icon = WebDriverWait(driver, 5, 0.25).until(ec.visibility_of_element_located([By.CSS_SELECTOR, '.cookiePolicy-close']))
close_icon.click()
# Wait for cookie message to disappear
WebDriverWait(driver, 5, 0.25).until(ec.invisibility_of_element_located([By.CSS_SELECTOR, '.cookiePolicy-close']))
link = driver.find_element_by_link_text("Volgende")
link.click()
クッキーのメッセージの後ろから要素をスクロールするには:
編集:それはこのページにもフローティングヘッダーがあるようですので、実際にはページの上部にスクロールできません。クッキーメッセージの後ろからスクロールする必要があります。
from selenium import webdriver
chrome_path = '/Users/username/Downloads/chromedriver'
driver = webdriver.Chrome(chrome_path)
driver.get('https://www.iens.nl/restaurant+utrecht')
link = driver.find_element_by_link_text("Volgende")
# Scroll to element as Selenium would
driver.execute_script('arguments[0].scrollIntoView(false);', link)
# Then scroll it up to get it out from behind the message
driver.execute_script('window.scrollBy(0, 200)')
link.click()
編集:私はあなたはそれがセレン試みがにVolgendeボタンをスクロールする場合でもので、クッキーポリシーメッセージは、クリックイベントを受信しますというメッセージを見れば、これらのオプションの両方が
を働く確認しましたビューでは、クッキーポリシーメッセージはボタン上に浮かぶのでクリックできません。 – Corporalis