wtujcf123 发表于 2023-5-14 22:39

如何使用js让”确定“按纽显示出来?并提交数据

本帖最后由 wtujcf123 于 2023-5-15 10:14 编辑

各位老师,这个网页https://pmsearch.jd.com/?publishSource=7&childrenCateId=12727中的“确定”按纽,必须点击前面的“最低价”或“最高价”后才能显示。
我试过在控制台输入以下命令,也无法让“确定”出现,请问要如何处理呢?
另外如果显示出来后,之前通过代码填充的数据并不会一并提交?要如何处理?
document.querySelector("#root > div > div > div.selector > div:nth-child(5) > div.s-line.s-price > div > div.sl-value > div > div:nth-child(1) > input").click()




npc404 发表于 2023-5-15 09:28

wtujcf123 发表于 2023-5-15 09:23
感谢老师了,能分享出来学习一下吗?react还没接触过

https://github.com/ILovePing/ILovePing.github.io/issues/22
我看的这个

lovemit 发表于 2023-5-14 22:50

元素id是不是错了?

wtujcf123 发表于 2023-5-14 22:52

本帖最后由 wtujcf123 于 2023-5-14 22:54 编辑

lovemit 发表于 2023-5-14 22:50
元素id是不是错了?
应该是没错呢。我测试了好多次。另外,如果让这个元素focus,然后再点击网网页的任意位置,这个“确定”按纽还是会显示出来的。

lovemit 发表于 2023-5-14 22:57

看错要求了,你可以修改css样式让它显示。不是点击的问题。

wtujcf123 发表于 2023-5-14 22:58

lovemit 发表于 2023-5-14 22:57
看错要求了,你可以修改css样式让它显示。不是点击的问题。

我是想在油猴脚本上实现这个点击效果呢?要如何做呢。

平淡最真 发表于 2023-5-14 23:04

document.querySelector("#root > div > div > div.selector > div:nth-child(5) > div.s-line.s-price > div > div.sl-value > div > div.button").click()

wtujcf123 发表于 2023-5-14 23:06

平淡最真 发表于 2023-5-14 23:04
document.querySelector("#root > div > div > div.selector > div:nth-child(5) > div.s-line.s-price > d ...

无法点击呢。

平淡最真 发表于 2023-5-14 23:17

wtujcf123 发表于 2023-5-14 23:06
无法点击呢。

https://img01-xusong.91q.com/CEA56774-DBD5-411C-B158-12FDD428CC4C.gif

wtujcf123 发表于 2023-5-14 23:23

本帖最后由 wtujcf123 于 2023-5-14 23:26 编辑

平淡最真 发表于 2023-5-14 23:17

你好。这个确定按纽最开始是不显示的。您这边刷新了初始化了吗?

嘿i你的益达 发表于 2023-5-14 23:36

{
                        key: "render",
                        value: function() {
                            var _ = this,
                              e = this.props.projectType,
                              t = this.state,
                              r = t.min,
                              a = t.max,
                              s = t.error,
                              l = t.submitShow;
                            return react__WEBPACK_IMPORTED_MODULE_8___default.a.createElement("div", {
                              className: "s-line s-price"
                            }, react__WEBPACK_IMPORTED_MODULE_8___default.a.createElement("div", {
                              className: "sl-wrap"
                            }, react__WEBPACK_IMPORTED_MODULE_8___default.a.createElement("div", {
                              className: "sl-key"
                            }, react__WEBPACK_IMPORTED_MODULE_8___default.a.createElement("span", null, 2 === e ? "参考价值" : "当前/起拍价", ":")), react__WEBPACK_IMPORTED_MODULE_8___default.a.createElement("div", {
                              className: "sl-value"
                            }, react__WEBPACK_IMPORTED_MODULE_8___default.a.createElement("div", {
                              className: "sl-price-set"
                            }, react__WEBPACK_IMPORTED_MODULE_8___default.a.createElement("div", {
                              className: "input-wrap"
                            }, react__WEBPACK_IMPORTED_MODULE_8___default.a.createElement("span", null, "¥"), react__WEBPACK_IMPORTED_MODULE_8___default.a.createElement("input", {
                              className: "min-price",
                              type: "text",
                              name: "",
                              placeholder: "最低价",
                              value: r,
                              onFocus: function() {
                                    return _.setState({
                                        submitShow: !0
                                    })
                              },
                              onChange: function(e) {
                                    return _.handleMin(e)
                              },
                              clstag: "".concat(Object(_utils_index__WEBPACK_IMPORTED_MODULE_10__.b)("screenPrice_low")),
                              maxLength: 14
                            })), react__WEBPACK_IMPORTED_MODULE_8___default.a.createElement("em", null), react__WEBPACK_IMPORTED_MODULE_8___default.a.createElement("div", {
                              className: "input-wrap"
                            }, react__WEBPACK_IMPORTED_MODULE_8___default.a.createElement("span", null, "¥"), react__WEBPACK_IMPORTED_MODULE_8___default.a.createElement("input", {
                              className: "max-price",
                              type: "text",
                              name: "",
                              placeholder: "最高价",
                              value: a,
                              onFocus: function() {
                                    return _.setState({
                                        submitShow: !0
                                    })
                              },
                              onChange: function(e) {
                                    return _.handleMax(e)
                              },
                              clstag: "".concat(Object(_utils_index__WEBPACK_IMPORTED_MODULE_10__.b)("screenPrice_high")),
                              maxLength: 14
                            })), l && react__WEBPACK_IMPORTED_MODULE_8___default.a.createElement("div", {
                              className: "button",
                              onClick: function() {
                                    return _.handleSubmit()
                              }
                            }, "确定"), s && react__WEBPACK_IMPORTED_MODULE_8___default.a.createElement("div", {
                              className: "error"
                            }, s)))))
                        }
                  },

这是扒下来的代码,希望对你有帮助
页: [1] 2 3 4
查看完整版本: 如何使用js让”确定“按纽显示出来?并提交数据