python3 selenium2 获取JS动态页面title

想打印-- 易报活动网——-页面的所有图片title 发觉它是动态加载的 只打印出了部分 打印不出全部
打印title的如图:

图片描述

能打印出来 但发觉只打印了能看到的部分 少了滚动条拖下来看到的title:
图片描述

于是我用js定位到最后的元素 报了个找不到:

图片描述

然后在直接JS操作 会拖动滚动条 但还是打印了部分:

图片描述

新手总有十万个为什么 真要命, 太感谢SF这个平台, 太感谢你们的帮助 指教

代码如下:

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.action_chains import  ActionChains
import time

driver = webdriver.Chrome()
driver.implicitly_wait(20)
driver.set_window_size(1200, 600)
# driver.maximize_window()
driver.get("http://www.yibaolib.com/Login.aspx")
user = driver.find_element_by_css_selector('#ContentPlaceHolder1_txtPhone').send_keys('15755172398')
pwd = driver.find_element_by_css_selector('#ContentPlaceHolder1_txtPwd').send_keys('456789')
driver.find_element_by_css_selector('#ContentPlaceHolder1_txtPwd').send_keys(Keys.ENTER)

time.sleep(6)

tema = driver.find_element_by_xpath('//*[@id="waterfall"]/div[1]/div[1]/div/div/a')
print(tema.text)

time.sleep(10)
# '''拖动到可见的元素去---也不行'''
# target = driver.find_element_by_xpath('//*[@id="waterfall"]/div[4]/div[33]/div/div/a')
# driver.execute_script("arguments[0].scrollIntoView();", target) #拖动到可见的元素去

'''JS直接操作 ---打印部分'''
js = "var q=document.body.scrollTop=10000"
driver.execute_script(js)


# time.sleep(10)
#
# for i in tema:
#     print(i.text)

tema1 = driver.find_elements_by_xpath('//*[@id="waterfall"]/div/div/div/div/a')
print(len(tema1))
for i in tema1:
    print(i.text)
阅读 3k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题