linux系统下一页,linux下一页

由于“下一个”按钮的元素索引从第一页的59变为下一页的60,因此,您可以在页面上找到所有具有类“ grayBtn”的元素,然后单击索引[-1]返回的列表中,因为它将始终提供下一个按钮。我也删除了代码中不必要的部分,例如重复导入以及不必要的按钮单击。我立即转到包含教师成绩列表的页面,而不是在主页的搜索字段中输入“老师”。我只剩下以下内容:

from selenium import webdriver

import time

from selenium.webdriver.common.keys import Keys

from selenium.webdriver.common.by import By

from selenium.webdriver.support.ui import WebDriverWait

from selenium.webdriver.support import expected_conditions as EC

import re

Category = input("Category?")

Category = re.sub(" ", "%20", Category)

Type = re.sub(" ", "-", Category.lower())

url ='https://www.naukri.com/' + Type + '-jobs?k=' + Category

driver = webdriver.Chrome(r"mypython/bin/chromedriver_linux64/chromedriver")

driver.get(url)

data = WebDriverWait(driver, 10).until(

EC.presence_of_element_located((By.CLASS_NAME, "srp_container.fl")))

result = WebDriverWait(data, 10).until(

EC.presence_of_all_elements_located((By.CLASS_NAME, "row")))

for res in result:

data = WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.CLASS_NAME, "srp_container.fl")))

jobs = WebDriverWait(data, 10).until(EC.presence_of_all_elements_located((By.CLASS_NAME, "row")))

for job in jobs:

try:

title=job.find_element_by_class_name("desig").text

print('title:',title)

school=job.find_element_by_class_name("org").text

print('school:',school)

location=job.find_element_by_class_name("loc").text

print("location:",location)

salary=job.find_element_by_class_name("salary").text

print("salary:",salary)

except:

pass

print('-------')

Button = driver.find_elements_by_class_name("grayBtn")[-1]

time.sleep(1)

driver.execute_script("window.scrollTo(0,document.body.scrollHeight - 1300)")

Button.click()

根据要求,以下是修改后的代码,可将数据追加到pandas数据框并将该数据框转换为excel:

from selenium import webdriver

import time

from selenium.webdriver.common.keys import Keys

from selenium.webdriver.common.by import By

from selenium.webdriver.support.ui import WebDriverWait

from selenium.webdriver.support import expected_conditions as EC

import re

import pandas as pd

df = pd.DataFrame(columns = ['Title', 'School', 'Location', 'Salary'])

Category = input("Category?")

Category = re.sub(" ", "%20", Category)

Type = re.sub(" ", "-", Category.lower())

url ='https://www.naukri.com/' + Type + '-jobs?k=' + Category

driver = webdriver.Chrome(r"mypython/bin/chromedriver_linux64/chromedriver")

driver.get(url)

data = WebDriverWait(driver, 10).until(

EC.presence_of_element_located((By.CLASS_NAME, "srp_container.fl")))

result = WebDriverWait(data, 10).until(

EC.presence_of_all_elements_located((By.CLASS_NAME, "row")))

i = 0

for res in result:

data = WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.CLASS_NAME, "srp_container.fl")))

jobs = WebDriverWait(data, 10).until(EC.presence_of_all_elements_located((By.CLASS_NAME, "row")))

for job in jobs:

try:

title=job.find_element_by_class_name("desig").text

print('title:',title)

school=job.find_element_by_class_name("org").text

print('school:',school)

location=job.find_element_by_class_name("loc").text

print("location:",location)

salary=job.find_element_by_class_name("salary").text

print("salary:",salary)

df.loc[i] = [title, school, location, salary]

i += 1

except:

pass

print('-------')

Button = driver.find_elements_by_class_name("grayBtn")[-1]

time.sleep(1)

driver.execute_script("window.scrollTo(0,document.body.scrollHeight - 1300)")

Button.click()

df.to_excel("all_results.xlsx")

回答来源:stackoverflow

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值