Javascript Selenium鼠标滚轮向下拉以加载所有页面
模拟鼠标滚轮以加载所有图元 我搜索了谷歌,尝试了很多,但都失败了Javascript Selenium鼠标滚轮向下拉以加载所有页面,javascript,python,selenium,css-selectors,webdriverwait,Javascript,Python,Selenium,Css Selectors,Webdriverwait,模拟鼠标滚轮以加载所有图元 我搜索了谷歌,尝试了很多,但都失败了 from selenium import webdriver from selenium.webdriver.common.keys import Keys import time # Configuration information email = "*******" password = "*******" driver = webdriver.Chrome() index_ur
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time
# Configuration information
email = "*******"
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 login
time.sleep(1)
driver.find_element_by_xpath('/html/body/div[2]/div[1]/div[1]/form/div/input').send_keys(email) # input email
driver.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 password
driver.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)
上述方法无效。向下滚动网页
https://testselenium.quip.com/
直到最后一个条目,您必须为位于()的元素的可见性引入WebDriverWait,并且您可以使用以下内容:
- 代码块:
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"))))
- 浏览器快照:
但我想滚动到底部一点,我需要加载所有hrefs@hakukou这是底部,请查看带有文本的项目作为“快速入门”妙语。当然,在加载所有之前的元素(读取为HREF)之后,会发生到元素的滚动。现在,如何收集HREF需要一个不同的策略,您可能需要提出一个新的问题和您的新要求。嗨,我补充了一个问题,如果您知道,请帮助我,非常感谢。
js="var q=document.documentElement.scrollTop=10000"
driver.execute_script(js)
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"))))