gpt4 book ai didi

Python - 在 .aspx 网站上自动输入表单并将输出存储在文件中(使用 Selenium?)

转载 作者:太空宇宙 更新时间:2023-11-03 19:02:22 24 4
gpt4 key购买 nike

我这个月刚刚开始学习编码,并从 Python 开始。我想自动化一个简单的任务(我的第一个项目) - 访问公司的职业网站,检索当天发布的所有职位并将其存储在文件中。这就是我想做的事情,按顺序:

  1. 转到http://www.nov.com/careers/jobsearch.aspx
  2. 选择选项 - 每页 25 个职位
  3. 选择日期选项 - 今天
  4. 点击“搜索职位”
  5. 将结果存储在文件中(仅包含职位名称)

我环顾四周,发现 Selenium 是处理 .aspx 页面的最佳方式。

我已经使用 Selenium 完成了步骤 1-4。但是,有两个问题:

  1. 我不想打开浏览器。我只需要将输出保存到文件中。
  2. 即使我可以接受弹出的浏览器,在 IDLE(我有 Windows 操作系统)上使用 Python 代码(从 Selenium 作为 Web 驱动程序导出)也会导致错误。当我运行 Python 代码时,浏览器将打开并加载链接。但在浏览器关闭之前,没有任何表单选择发生,并且我收到以下错误消息(下面的链接)。那么错误信息是什么意思呢? /image/lmcDz.png

任何帮助/指导将不胜感激...谢谢!

最佳答案

首先关于您遇到的错误,我应该说根据表达式 NoSuchElementException 和消息 Unable to located element,您为网络提供的选择器-driver 错误,web-driver 找不到该元素。

好吧,由于您没有发布代码,而且我无法打开您输入的网站链接,所以我只能给您一个示例代码,我会尽可能多地统计详细信息。

from selenium import webdriver

driver = webdriver.Firefox()
driver.get("url")
number_option = driver.find_element_by_id("id_for_25_option_indicator")
number_option.click()
date_option = driver.find_element_by_id("id_for_today_option_indicator")
date_option.click()
search_button = driver.find_element_by_id("id_for_search_button")
search_button.click()
all_results = driver.find_elements_by_xpath("some_xpath_that_is_common_between_all_job_results")

result_file = open("result_file.txt", "w")

for result in all_results:
result_file.write(result.text + "\n")

driver.close()
result_file.close()

既然你说你最近才开始学习编码,我想我必须给出一些解释:

  1. 我建议您在元素具有 ID 属性的所有情况下使用 driver.find_element_by_id。它更强大。
  2. 您可以使用 result.get_attribute("value")result.get_attribute("innerHTML"),而不是 result.text .

现在我脑子里就想到了这些;但最好将代码发布出来,我们看看有什么问题。此外,如果您给我一个新的网站链接,那就太好了,这样我就可以向代码添加更多详细信息;您当前的链接已损坏。

关于Python - 在 .aspx 网站上自动输入表单并将输出存储在文件中(使用 Selenium?),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15715609/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com