这是我的代码:
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 :(得分:0)
啊!我看不到任何web element
class-name
moreLink 可点击 - 如果没有任何效果,那么您可以使用以下流程(有点蛮力)。建议用更好的方法来解决这个问题。
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()