我使用 Python 开发了一个与网站交互的 Selenium 脚本。该脚本在我的本地 Windows PC 上成功运行。但是,当我尝试在具有相同配置的 AWS Batch 环境中运行相同的脚本时,该脚本的行为有所不同。 AWS Batch 环境中的某些组件似乎正在发生变化。
详情:
我使用 Selenium 和 Python 来自动与网站进行交互。 该脚本在我的本地 Windows PC 上成功运行。 我已经设置了一个 AWS Batch 环境,其配置与我的本地 PC 相同。 当我在 AWS Batch 环境中运行脚本时,遇到意外行为。 我检查了两个环境中Python、Selenium和其他相关依赖项的版本,它们是匹配的。 我还验证了环境之间的浏览器版本和配置是一致的。 AWS Batch 环境设置为以无头模式执行脚本,类似于我的本地 PC。 尽管做出了这些努力,脚本在 AWS Batch 环境中的行为仍然不同。 在 AWS Batch 环境中观察到的具体问题:
我在日历日期选择器元素方面遇到了这个问题。
代码片段:
# create a new Chrome session
options = webdriver.ChromeOptions()
options.add_argument('--incognito')
# options.add_argument('--headless')
options.add_argument("--window-size=1920,1080")
options.add_argument('--disable-gpu')
options.add_argument('--no-sandbox')
options.add_argument('--disable-dev-shm-usage')
driver = webdriver.Chrome(options=options)
driver.maximize_window()
# Navigate to the application home page
url = "https://www.websiteurl.com/sessions/new"
driver.get(url)
任何有关可能导致这种差异的原因以及如何解决该问题的建议将不胜感激。
谢谢你。
将 Selenium 脚本从本地 PC 移动到 AWS Batch 时,环境差异可能会导致意外行为。虽然您的版本匹配,但 AWS Batch 的虚拟化环境可能会以不同的方式处理浏览器交互,尤其是在无头模式下。确保您的脚本能够适应潜在的计时问题或页面加载时间的差异。另外,请考虑 AWS 中网络速度和可用性的差异。使用详细日志和屏幕截图进行调试可以帮助识别行为的差异所在。有时,调整超时或等待策略可以解决这些问题。