2015-12-25 5 views
0

Вот мой код:Невозможно нажать на пролете с использованием Selenium в Python

driver = webdriver.Chrome('driver/path') 
driver.get('http://www.tripadvisor.com/Hotel_Review-g51867-d616623-Reviews-or50-Park_Motel-Florence_Oregon.html#REVIEWS') 
mores = driver.find_element_by_class_name('moreLink') 
mores.click() 

Я получаю это исключение:

Element is not clickable at point (220, 701). Other element would receive the click: <div class="prw_rup prw_prodp13n_recommendation_carousels_related_footer_xsell" data-prwidget-name="prodp13n_recommendation_carousels_related_footer_xsell" data-prwidget-init="handlers">...</div> 
(Session info: chrome=47.0.2526.106) 

Я попробовал все, что я нашел на сети, чтобы исправить это, но я не смог , Вот вещи, которые я пытался:

actions = ActionChains(driver) 
actions.move_to_element(mores).click().perform() 

(не исключение, но до сих пор нет щелчок)

driver.execute_script('arguments[0].scrollIntoView(true)', mores) 
mores.click() 

(то же самое исключение, имеющие различные координаты)

Это очень странно, так как когда я прокручивать страницы вручную в ту же позицию, что и скрипт, он работает.

ответ

0

Ах !, я не вижу web element с class-namemoreLink, который интерактивными - Если ничего не работает, то вы можете использовать ниже процесса (своего рода Bruit силы). Предлагается использовать лучший способ решить эту проблему.

from selenium import webdriver 
from selenium.webdriver.common.keys import Keys 

driver = webdriver.Chrome() 
driver.get('http://www.tripadvisor.com/Hotel_Review-g51867-d616623-Reviews-or50-Park_Motel-Florence_Oregon.html#REVIEWS') 
bd = driver.find_element_by_tag_name('body') 
for i in range(5000): #5000 is just a high value to ensure longer press 
    bd.send_keys(Keys.PAGE_DOWN) 
driver.quit() 
Смежные вопросы