使用selenium滚动网站的特定部分。

时间:2017-07-11 17:21:43

标签: python selenium web-scraping beautifulsoup

我正在尝试创建一个用于滚动此网站的脚本:http://m.1688.com/offer/39202959720.html?spm=a26g8.7664812.0.0.dfxn8I

正如您在网站上看到的那样,如果将光标放在主空间内,它将能够滚动,如果它在主空间之外则不会。我创建了一个我想用来滚动网站的脚本:

driver = webdriver.Chrome('C:\Users\V\Desktop\PY\web_scrape\chromedriver.exe')
driver.get('http://m.1688.com/offer/39202959720.html?spm=a26g8.7664812.0.0.dfxn8I')
displayed = False
for i in range(5):
    driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")
    time.sleep(2)

假设导入了所有相关的包,当脚本运行时,看起来selenium不滚动网站,我想知道我该怎么做才能解决这个问题。也许有一些方法可以告诉selenium将光标放在特定的部分。

1 个答案:

答案 0 :(得分:2)

尝试使用以下代码滚动内容:

from selenium.webdriver.common.keys import Keys

driver.get('http://m.1688.com/offer/39202959720.html?spm=a26g8.7664812.0.0.dfxn8I')

# Click on element inside the main content to switch focus
driver.find_element_by_xpath('//h1[@class="d-title"]').click()

for i in range(5):
    # Scroll page down
    driver.find_element_by_tag_name('body').send_keys(Keys.END)
    time.sleep(2)