gpt4 book ai didi

javascript - 自动填充 javascript/applescript Accuweather (菜鸟)

转载 作者:行者123 更新时间:2023-11-28 08:15:41 25 4
gpt4 key购买 nike

自从大学时代以来,我就没有做过任何真正的编程,即使那时,它也是 fortran 和 pascal(是的,我正在和自己约会......),所以 applescript 和 javascript 对我来说相当陌生,我可能会跳入深渊,但为什么不呢,对吧?

我目前正在美国各个城市寻找工作,我认为这将是一个很好的学习机会(也是一个让我保持头脑敏锐的项目),可以“自动化”添加新城市的过程并利用天气作为与各种人力资源/招聘经理对话的破冰场。您可以通过 accuweather email alerts 注册 Accuweather 电子邮件提醒。这看起来是一个不错的功能。

我在分配邮政编码的值时遇到问题,并且不知道我做错了什么。当我检查网站时,我看到以下内容:

<input name="wxzip" type="text" value="" style="width:60px;font-size:12px;
color:#444444;border:1px solid #000000" onchange="verifyZip();
" id="userZipSelection">

我在 Applescript 中尝试了以下方法,使用 JS 代码片段设置邮政编码值。

do JavaScript "document.getElementById('userZipSelection').value = 60015;" in document 1
do JavaScript "document.getElementsByName('wxzip')[0].value = 60015" in document 1
do JavaScript "document.getElementsById('userZipSelection')[0].value = 60015;" in document 1
do JavaScript "document.regform.wxzip.value = 60015;" in document 1

这些似乎都不能用于设置邮政编码。顺便说一句,在最终形式中,我将从列表中获取邮政编码,但为了简单起见,我在本示例中直接设置该值。

在网站的代码中,还有很多其他地方引用了邮政编码,但我不明白所有其他用途。例如:

if (document.regform.wxzip.value.length != 5)

我非常感谢任何/所有关于我在设置邮政编码值时做错的事情的建议。

谢谢。

<小时/><小时/>

在下面 adayzdone 的帮助下,我摸索出了解决方案。这是最终的工作代码:

tell application "Safari"
activate
open location "h@t@t@p://www.accuweather.com/alerts/index.asp"
delay 3
tell current tab of window 1
do JavaScript "document.getElementById('userZipSelection').value=12345"
do JavaScript "document.getElementsByName('email')[0].value = 'junk@email.com'"
do JavaScript "document.getElementsByName('getforecast')[0].checked = true"
do JavaScript "document.getElementsByName('getsevere')[0].checked = true"
do JavaScript "document.getElementsByName('format')[0].value = 'html'"
do JavaScript "document.getElementsByName('getupdates')[0].checked = true"
do JavaScript "document.getElementsByName('hours1')[0].value = 10"
do JavaScript "document.getElementsByName('hours2')[0].value = 19"
do JavaScript "document.getElementsByName('days')[1].checked = true"
do JavaScript "document.getElementsByName('days')[2].checked = true"
do JavaScript "document.getElementsByName('days')[3].checked = true"
do JavaScript "document.getElementsByName('days')[4].checked = true"
do JavaScript "document.getElementsByName('days')[5].checked = true"
do JavaScript "document.getElementsByName('days')[6].checked = true"
do JavaScript "document.getElementsByName('days')[0].checked = true"
do JavaScript "document.regform.submit()"
end tell
end tell

问题似乎与添加“窗口 1 的当前选项卡”位有关。谁能解释为什么这解决了我的问题?

现在我只需要将所有内容更改为一个变量,我可以更轻松地更改该变量来完成项目。

最佳答案

这对我有用......

tell application "Safari"
tell current tab of window 1
do JavaScript "document.getElementById('userZipSelection').value='12345'"
end tell
end tell

关于javascript - 自动填充 javascript/applescript Accuweather (菜鸟),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23621350/

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