selenium python 加载更多按钮不起作用
selenium python load more button not working
我正在尝试无限次点击加载更多按钮,直到加载所有产品。但是我的加载更多按钮不起作用。这是我的代码:
url = 'https://www.pursemall.ru/vuitton/damier-azur'
driver = webdriver.Chrome()
driver.maximize_window()
driver.get(url)
try:
for i in range(1000):
load_more_button = driver.find_element_by_xpath("//span[text()='Load More Products']")
load_more_button.click()
except:
pass
print("task load more button completed")
为什么我的加载更多按钮不起作用?我哪里做错了?
您可以执行以下操作。循环内的每个调用都将获取一组产品。您可以抓取每个回复并收集数据。
在浏览器中执行 F12 -> 网络 -> XHR 并查看每次点击 加载更多产品
时浏览器如何执行 HTTP 调用
import requests
for page in range(1,4):
url = f'https://www.pursemall.ru/vuitton/damier-azur?page={page}'
print(url)
r = requests.get(url)
print(r.status_code)
我不是 100% 确定为什么您的原始代码无法正常工作,但我可以通过复制按钮的完整 XPATH 而不是上面代码中的内容来使其正常工作。
我还使用 WebDriverWait
和 sleep()
等待几秒钟,直到每次点击后按钮被加载,因为这是网络抓取工具的好习惯。也许问题是两者的结合:)
url = 'https://www.pursemall.ru/vuitton/damier-azur'
driver = webdriver.Chrome(PATH) # PATH is where you have chromedriver stored on your machine
driver.maximize_window()
driver.get(url)
try:
for i in range(1000):
load_more_button = WebDriverWait(driver, 10).until(ec.element_to_be_clickable(
(By.XPATH, '/html/body/div[1]/div/div[3]/div[3]/span/a/span')))
sleep(3)
load_more_button.click()
except:
pass
print("task load more button completed")
我正在尝试无限次点击加载更多按钮,直到加载所有产品。但是我的加载更多按钮不起作用。这是我的代码:
url = 'https://www.pursemall.ru/vuitton/damier-azur'
driver = webdriver.Chrome()
driver.maximize_window()
driver.get(url)
try:
for i in range(1000):
load_more_button = driver.find_element_by_xpath("//span[text()='Load More Products']")
load_more_button.click()
except:
pass
print("task load more button completed")
为什么我的加载更多按钮不起作用?我哪里做错了?
您可以执行以下操作。循环内的每个调用都将获取一组产品。您可以抓取每个回复并收集数据。
在浏览器中执行 F12 -> 网络 -> XHR 并查看每次点击 加载更多产品
时浏览器如何执行 HTTP 调用import requests
for page in range(1,4):
url = f'https://www.pursemall.ru/vuitton/damier-azur?page={page}'
print(url)
r = requests.get(url)
print(r.status_code)
我不是 100% 确定为什么您的原始代码无法正常工作,但我可以通过复制按钮的完整 XPATH 而不是上面代码中的内容来使其正常工作。
我还使用 WebDriverWait
和 sleep()
等待几秒钟,直到每次点击后按钮被加载,因为这是网络抓取工具的好习惯。也许问题是两者的结合:)
url = 'https://www.pursemall.ru/vuitton/damier-azur'
driver = webdriver.Chrome(PATH) # PATH is where you have chromedriver stored on your machine
driver.maximize_window()
driver.get(url)
try:
for i in range(1000):
load_more_button = WebDriverWait(driver, 10).until(ec.element_to_be_clickable(
(By.XPATH, '/html/body/div[1]/div/div[3]/div[3]/span/a/span')))
sleep(3)
load_more_button.click()
except:
pass
print("task load more button completed")