Zoeyzengli 2019-04-02 14:00 采纳率: 0%
浏览 993

selenium爬取招聘网站一直刷新主页,代码为什么爬不出来,超时怎么解决?

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
import time
from selenium.common.exceptions import TimeoutException
from pyquery import PyQuery as pq

browser = webdriver.Firefox()
wait = WebDriverWait(browser, 10)

def search():
    try:
        browser.get( 'https://www.simplyhired.com/') #网站url
        browser.implicitly_wait(10)
        input = wait.until(
            EC.presence_of_element_located((By.CSS_SELECTOR, "input.id_f_keywords:nth-child(1)"))#搜索框
        )
        submit = wait.until(EC.element_to_be_clickable((By.CSS_SELECTOR, '.btn-block')))#按钮
        input.send_keys("Information Management")#搜索框中输入
        submit.click()
        get_products()
        browser.implicitly_wait(10)

    except TimeoutException:  # 当网卡超时时,重新执行
        return search()

def next_page():
    try:
        next_page = wait.until(EC.element_to_be_clickable((By.CSS_SELECTOR, 'a.next-pagination')))#下一页按钮
        next_page.click()
    except TimeoutException:  # 当网卡超时时,重新执行
        return search()


def get_products():
    wait.until(EC.presence_of_element_located((By.CSS_SELECTOR, '#content .jobs')))#获取id为content下class为jobs的所有card js-job active
    html = browser.page_source
    print(html)#将html代码打印出来


def mian():
    print("第", 1, "页:")
    search()
    for i in range(2, 20):
        time.sleep(3)
        print("第", i, "页:")
        get_products()



if __name__ == '__main__':
    mian()

拜托哪位大神能教教我呀,小白一个

  • 写回答

1条回答

  • 好学的小师弟 2021-09-21 12:48
    关注
    def refresh_yemian():
        successful_search = ''
        try:
            time.sleep(1)
            driver.find_element_by_xpath('//*[@id="float"]/th[1]').click()
            time.sleep(1)
            successful_search=print('---查询页面正常,可正常查询车次---')
            time.sleep(1)
        except:
            print('---正在点击查询按钮---',end='\r')
            time.sleep(1)
            driver.find_element_by_xpath('//*[@id="query_ticket"]').click()
            time.sleep(1)
            refresh_yemian()
        return successful_search
    #现在这个应该可以刷新页面了,不断地点击按钮,直到刷新出想要的页面
    
    评论

报告相同问题?

悬赏问题

  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作