为了账号安全,请及时绑定邮箱和手机立即绑定

Selenium 鼠标滚轮下拉加载所有页面

Selenium 鼠标滚轮下拉加载所有页面

跃然一笑 2022-06-02 14:38:04
模拟鼠标滚轮加载所有元素。我搜索了谷歌并尝试了很多但失败了。from selenium import webdriverfrom selenium.webdriver.common.keys import Keysimport time# Configuration informationemail = "*******"password = "*******"driver = webdriver.Chrome()index_url = "https://quip.com/"driver.get(url=index_url)driver.find_element_by_xpath('//*[@id="header-nav-collapse"]/ul/li[9]/a').click()  # click logintime.sleep(1)driver.find_element_by_xpath('/html/body/div[2]/div[1]/div[1]/form/div/input').send_keys(email)  # input emaildriver.find_element_by_xpath('//*[@id="email-submit"]').click()time.sleep(1)driver.find_element_by_xpath('/html/body/div/div/form/div/input[2]').send_keys(password)  # input passworddriver.find_element_by_xpath('/html/body/div/div/form/button').click()time.sleep(2)下拉滚动js="var q=document.documentElement.scrollTop=100000" driver.execute_script(js)time.sleep(3)driver.maximize_window()driver.find_element_by_xpath("xpath").send_keys(Keys.DOWN)js="var q=document.documentElement.scrollTop=10000"driver.execute_script(js)上述方法不起作用。
查看完整描述

1 回答

?
函数式编程

TA贡献1807条经验 获得超9个赞

要向下滚动网页https://testselenium.quip.com/直到最后一个条目,您必须诱导WebDriverWait并且visibility_of_element_located()您可以使用以下Locator Strategies:


代码块:


from selenium import webdriver

from selenium.webdriver.common.by import By

from selenium.webdriver.support.ui import WebDriverWait

from selenium.webdriver.support import expected_conditions as EC


chrome_options = webdriver.ChromeOptions()

chrome_options.add_argument("start-maximized")

#chrome_options.add_experimental_option("excludeSwitches", ["enable-automation"])

#chrome_options.add_experimental_option('useAutomationExtension', False)

driver = webdriver.Chrome(options=chrome_options, executable_path=r'C:\Utility\BrowserDrivers\chromedriver.exe')

driver.get("https://quip.com/")

WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "a.btn-sm[href='/account/login']"))).click()

WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "input[name='email']"))).send_keys("187069474@qq.com")

driver.find_element_by_css_selector("button#email-submit").click()

WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "input[name='password']"))).send_keys("Huangbo1019@")

driver.find_element_by_css_selector("button.submit").click()

driver.execute_script("arguments[0].scrollIntoView(true);", WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.CSS_SELECTOR, "div.nav-inbox-import-title"))))

浏览器快照:

//img1.sycdn.imooc.com//62985af70001b07b06580368.jpg

查看完整回答
反对 回复 2022-06-02
  • 1 回答
  • 0 关注
  • 483 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号