2017-10-11 81 views
0

我需要浏览页面左侧here页面左侧的多个页面。首先,我需要向下滚动特定的div部分,然后单击next按钮。但滚动在一种情况下完美(url_ok),并且在另一种情况下不起作用(url_trouble)。没有任何想法为什么。 我测试的代码:硒蟒蛇:如何滚动div

from selenium import webdriver 
import time 
driverPath = "C:/Program Files (x86)/Google/Chrome/Application/chromedriver.exe" 
driver = webdriver.Chrome(driverPath) 

url_trouble = 'https://2gis.ru/moscow/search/%D0%BF%D0%B0%D1%80%D0%BA%D0%BE%D0%B2%D0%BA%D0%B0%20/tab/geo?queryState=center%2F37.644653%2C55.827709%2Fzoom%2F12' 

url_ok = 'https://2gis.ru/moscow/search/%D0%BF%D0%B0%D1%80%D0%BA%D0%BE%D0%B2%D0%BA%D0%B0%20/tab/firms?queryState=center%2F37.644653%2C55.827805%2Fzoom%2F12' 


def click(url, driver): 
    driver.get(url) 
    driver.maximize_window() 
    time.sleep(5) 
    next_link_data = driver.find_element_by_css_selector("div.pagination__arrow._right") 
    next_link_data.location_once_scrolled_into_view 
    next_link_data.click() 

click(url_trouble, driver) # it doesn't work 
click(url_ok, driver) # it works 

所以现在的问题是如何滚动url_trouble的底部?

非常感谢您的提前!

回答

0

因为我猜两个“div.pagination__arrow._right”在页面中。

使用更具体的选择
尝试这一个 - >“#模块1-13-1-1-2-2> div.pagination__arrow._right”

driver.find_element_by_css_selector("#module-1-13-1-1-2-2 > div.pagination__arrow._right") 
+0

谢谢@DexJ,它的作品完美! – Vlad

+0

欢迎@Vlad – DexJ