【问题标题】:How to click the Continue button on website using selenium in python?如何在 python 中使用 selenium 单击网站上的继续按钮?
【发布时间】:2021-04-08 21:38:38
【问题描述】:

我正在尝试编写一个能够自动申请 Indeed.com 上的职位空缺的代码。我已经到了最后一个阶段,但是,最后点击申请表给我带来了很多麻烦。请参考以下页面

登录我的个人资料后,我会转到相关搜索页面,单击我感兴趣的列表,然后在最后一页(如上所示)我尝试使用@987654324 单击continue 按钮@如下:

driver.get("https://in.indeed.com/jobs?q=data%20analyst&l=Delhi&vjk=5c0bd416675cf4e5")
driver.find_element_by_xpath('//*[@id="apply-button-container"]/div[1]/span[1]').click()
driver.find_element_by_xpath('//*[@id="form-action-continue"]')

但是,这给了我一个错误:

Message: no such element: Unable to locate element: {"method":"xpath","selector":"//*[@id="form-action-continue"]"}

在网上浏览了一些建议后,我什至尝试了以下方法:

driver.get("https://in.indeed.com/jobs?q=data%20analyst&l=Delhi&vjk=5c0bd416675cf4e5")
driver.find_element_by_xpath('//*[@id="apply-button-container"]/div[1]/span[1]').click()
WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.XPATH, '//*[@id="form-action-continue"]')))

但是这给了我一个超时错误

TimeoutException: Message:

将不胜感激这方面的一些帮助。

【问题讨论】:

    标签: python selenium selenium-webdriver xpath webautomation


    【解决方案1】:

    看起来,在那个表格上有多个iframes,因此是你错误的原因。

    你需要得到第一个iframe,切换到它,在第一个里面得到第二个iframe,切换到它,然后你才能得到continue按钮。

    这样的事情应该可以解决问题:

        frame_1 = driver.find_element_by_css_selector('iframe[title="Job application form container"')
        driver.switch_to.frame(frame_1)
        frame_2 = driver.find_element_by_css_selector('iframe[title="Job application form"]')
        driver.switch_to.frame(frame_2)
        continue_btn = driver.find_element_by_css_selector('#form-action-continue')
        continue_btn.click()
    

    【讨论】:

    【解决方案2】:

    一旦我遇到了类似的问题并且标准 time.sleep() 直到表单(或继续按钮)出现对我有帮助。试试它而不是 WebDriverWait,也许它会起作用。

    【讨论】:

    • 嘿!我已经尝试过了,即使是 60 多岁的睡眠,但不知何故我仍然收到“无法定位元素:”错误。
    猜你喜欢
    • 2021-04-09
    • 2023-02-01
    • 2019-09-16
    • 1970-01-01
    • 1970-01-01
    • 2021-01-08
    • 1970-01-01
    • 1970-01-01
    • 2022-08-05
    相关资源
    最近更新 更多