Ris*_*shi 1 python selenium xpath htmlunit
我有一个网站,当我向下滚动时会生成更多产品.与其他网站不同,firebug控制台中没有任何内容.所以,我使用selenium来模拟浏览器.我已经使它工作,但与Firefox驱动程序.但是,由于我正在托管在命令行上运行的Web服务器,因此我使用的是HTMLUNIT.有人能告诉我如何使用HTMLUNIT滚动页面吗?这是现在的代码:
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time
browser = webdriver.Remote("http://127.0.0.1:4444/wd/hub",desired_capabilities=webdriver.DesiredCapabilities.HTMLUNITWITHJS)
browser.get("http://www.somewebsite.com/")
x = browser.find_elements_by_xpath("//div[@id='containeriso3']/div/a[1]")
hrefs = [i.get_attribute('href') for i in x]
print len(hrefs)
time.sleep(2)
browser.execute_script("scroll(0, 2500);")
time.sleep(2)
x = browser.find_elements_by_xpath("//div[@id='containeriso3']/div/a[1]")
hrefs = [i.get_attribute('href') for i in x]
print len(hrefs)
Run Code Online (Sandbox Code Playgroud)
谢谢.
您可以使用JavaScript滚动.来自文档:
您可以使用execute_script方法在加载的页面上执行javascript.因此,您可以调用JavaScript API滚动到页面的底部或任何其他位置.
以下是滚动到页面底部的示例:
driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")
Run Code Online (Sandbox Code Playgroud)
DOM中的window对象有一个scrollTo方法,可以滚动到打开的窗口的任何位置.scrollHeight是所有元素的公共属性.document.body.scrollHeight将给出页面整个主体的高度.
| 归档时间: |
|
| 查看次数: |
3990 次 |
| 最近记录: |