Selenium脚本在AWS Batch环境与本地Windows PC表现不同
我用Python写了一个Selenium脚本,用来和一个网站互动。这个脚本在我本地的Windows电脑上运行得很好。但是,当我在AWS Batch环境中用相同的设置运行这个脚本时,它的表现却不一样。看起来在AWS Batch环境中,有些组件发生了变化。
具体情况:
我用Selenium和Python来自动化与一个网站的互动。这个脚本在我本地的Windows电脑上运行得很成功。我已经在AWS Batch环境中设置了和我本地电脑一样的配置。当我在AWS Batch环境中运行这个脚本时,遇到了一些意想不到的情况。我检查了两个环境中的Python、Selenium和其他相关依赖的版本,它们是一样的。我也确认了两个环境中的浏览器版本和配置是一致的。AWS Batch环境设置为无头模式运行脚本,这和我本地电脑的设置相似。尽管做了这些努力,脚本在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)
如果有人能给出可能导致这个差异的原因,以及如何排查这个问题的建议,我将非常感激。
谢谢。
1 个回答
0
当你把一个Selenium脚本从本地电脑转移到AWS Batch时,环境的不同可能会导致一些意想不到的问题。虽然你的软件版本是一样的,但AWS Batch的虚拟环境可能在处理浏览器操作时会有不同的表现,尤其是在无头模式下(无头模式就是不显示浏览器界面)。你需要确保你的脚本能够应对可能出现的时间问题或者页面加载时间的差异。此外,还要考虑在AWS上网络速度和可用性可能会有不同。通过详细的日志和截图来调试,可以帮助你找出问题出现的地方。有时候,调整超时设置或者等待策略可以解决这些问题。