click 相关问题

在用户界面中,单击是指按下鼠标按钮或类似的输入设备。

使用JavaScript触发点击事件[重复]

我想使用javaScript触发点击事件。我已经使用 jQuery 完成了这样的操作: $('button[type="submit"]').trigger('点击'):

回答 3 投票 0

您的目标是什么元素来单击带有 selenium webdriver 的复选框?

我正在尝试使用 selenium webdriver 单击网站上的复选框。复选框的 HTML 如下: 我正在尝试使用 selenium webdriver 单击网站上的复选框。复选框的 HTML 如下: <input type="checkbox" name="registrationForm:certIndCB" id="registrationForm:certIndCB" value="true" onclick="continueAction();"> 我尝试了以下代码: # first code driver_wait = WebDriverWait(driver, 10) cert_info = driver_wait.until(EC.element_to_be_clickable((By.ID, 'registrationForm:certIndCB'))) cert_info.click() # second code cert_info = driver.find_element(By.ID,'registrationForm:certIndCB') cert_info.click() # third code cert_info = driver.find_element(By.XPATH, "//input[@id='registrationForm:certIndCB']") cert_info.click() 但是都返回了错误。第一个代码收到超时错误,另外两个代码发送此错误: --------------------------------------------------------------------------- NoSuchElementException Traceback (most recent call last) Cell In[6], line 143 139 time.sleep(3) 141 # driver_wait = WebDriverWait(driver, 10) 142 # cert_info = driver_wait.until(EC.element_to_be_clickable((By.ID, 'registrationForm:certIndCB'))) --> 143 cert_info = driver.find_element(By.ID,'registrationForm:certIndCB') 144 cert_info.click() 145 wait 我刷新了页面并确保元素没有弯曲并且 id 保持为 registrationForm:certIndCB。我的印象是 id 是为 .click() 选择的更好的元素。有谁可能知道为什么它找不到该元素,尽管它在我检查元素时出现? 请参阅下面的代码,在 python selenium 中使用 JavaScript 单击 Web 元素: time.sleep(5) radioButton = driver.find_element(By.ID,'registrationForm:certIndCB') driver.execute_script("arguments[0].click();", radioButton )

回答 1 投票 0

如何在 WebForm (VB.net) 中打开链接按钮的事件处理程序

我做了我的第一个应用程序,但我很难找到我创建的链接按钮的事件处理程序。我将我的 gridview 连接到我的 SQL 文件,进行验证,我现在要做的就是“

回答 1 投票 0

Selenium 可点击元素点击了错误的位置?

我们正在等待由 xpath 标识的按钮可通过以下方式单击: ExpectedConditions.elementToBeClickable() 然后在 Selenium 中点击这个按钮执行。 然后我们得到一个错误: 另一个

回答 3 投票 0

打开和关闭点击事件

所以我正在尝试制作一个照片库,其中: 1.如果您点击其中一张照片,则会弹出一个窗口 2.但在关闭弹出窗口之前,您无法再次单击任何照片。 我已经搞砸了...

回答 1 投票 0

Jquery 在附加新 html 后未检测到点击

我有一个正在使用实时搜索功能的文本框。测试 HTML 效果很好,单击它就会像应有的那样添加到日志中。问题是,一旦我使用搜索框和新的“相同”......

回答 1 投票 0

单击子元素时的 jQuery 将类添加到非直接父元素

当我将鼠标悬停在菜单上的项目时,我使用下面的代码将一个类添加到我的菜单部分: jQuery(文档).ready(函数() { jQuery('.has-children').hover(function(){ ...</desc> <question vote="0"> <p>当我将鼠标悬停在菜单上的项目时,我使用下面的代码将一个类添加到我的菜单部分:</p> <pre><code>&lt;script&gt; jQuery(document).ready(function() { jQuery(&#39;.has-children&#39;).hover(function(){ jQuery(&#39;.header-jr&#39;).addClass(&#39;br-top-only&#39;); },function(){ jQuery(&#39;.header-jr&#39;).removeClass(&#39;br-top-only&#39;); }); }); &lt;/script&gt; </code></pre> <p>它工作得很好,但现在我需要将此函数转换为一个函数,仅当我单击(而不是悬停)在某个项目上时才添加/删除类。我认为以下函数可以工作,但它没有(没有发生任何事情,并且控制台中没有错误)。</p> <pre><code>&lt;script&gt; jQuery(document).ready(function() { jQuery(&#39;.has-children&#39;).click(function(){ jQuery(&#39;.header-jr&#39;).addClass(&#39;br-top-only&#39;); },function(){ jQuery(&#39;.header-jr&#39;).removeClass(&#39;br-top-only&#39;); }); }); &lt;/script&gt; </code></pre> <p>有人可以帮我解决这个问题吗?我必须承认,我对 jQuery/JS 的知识几乎为 0,所以如果你能给我一个简单的解决方案,那将对我有很大帮助。</p> <p>PS1:<strong>.has-children</strong>是我的孩子,<strong>.header-jr</strong>是我的父母。</p> <p>PS2:在我的代码中,子“.has-children”并不直接位于父“.header-jr”下方,我之间有大约 5/6 div,所以我认为我不能在 jQuery 中使用“parent”。 </p> </question> <answer tick="false" vote="0"> <p>您可以使用<a href="https://api.jquery.com/toggleclass/" rel="nofollow noreferrer"><pre><code>toggleClass</code></pre></a>,例如:</p> <p></p><div data-babel="false" data-lang="js" data-hide="false" data-console="true"> <div> <pre><code>jQuery(document).ready(function() { jQuery(&#39;.has-children&#39;).click(function() { jQuery(&#39;.header-jr&#39;).toggleClass(&#39;br-top-only&#39;); }); });</code></pre> <pre><code>.br-top-only{ background-color:red; }</code></pre> <pre><code>&lt;script src=&#34;https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js&#34;&gt;&lt;/script&gt; &lt;div class=&#39;header-jr&#39;&gt; &lt;div class=&#39;otherdiv&#39;&gt;text&lt;/div&gt; &lt;div class=&#39;otherdiv&#39;&gt;text&lt;/div&gt; &lt;div class=&#39;otherdiv&#39;&gt;text&lt;/div&gt; &lt;div class=&#39;has-children&#39;&gt;text&lt;/div&gt; &lt;/div&gt;</code></pre> </div> </div> <p></p> <p>如果您有多个 <pre><code>header</code></pre> 和 <pre><code>has child</code></pre>:</p> <p></p><div data-babel="false" data-lang="js" data-hide="false" data-console="true"> <div> <pre><code>jQuery(document).ready(function() { jQuery(&#39;.has-children&#39;).click(function() { jQuery(this).parent(&#39;.header-jr&#39;).toggleClass(&#39;br-top-only&#39;); }); });</code></pre> <pre><code>.br-top-only{ background-color:red; }</code></pre> <pre><code>&lt;script src=&#34;https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js&#34;&gt;&lt;/script&gt; &lt;div class=&#39;header-jr&#39;&gt; &lt;div class=&#39;otherdiv&#39;&gt;text&lt;/div&gt; &lt;div class=&#39;otherdiv&#39;&gt;text&lt;/div&gt; &lt;div class=&#39;otherdiv&#39;&gt;text&lt;/div&gt; &lt;div class=&#39;has-children&#39;&gt;text&lt;/div&gt; &lt;/div&gt; &lt;br&gt; &lt;div class=&#39;header-jr&#39;&gt; &lt;div class=&#39;otherdiv&#39;&gt;text&lt;/div&gt; &lt;div class=&#39;otherdiv&#39;&gt;text&lt;/div&gt; &lt;div class=&#39;otherdiv&#39;&gt;text&lt;/div&gt; &lt;div class=&#39;has-children&#39;&gt;text&lt;/div&gt; &lt;/div&gt;</code></pre> </div> </div> <p></p> <p>如果您有多个级别的<pre><code>divs</code></pre>,您需要使用<a href="https://api.jquery.com/closest/" rel="nofollow noreferrer"><pre><code>closest</code></pre></a>:</p> <p></p><div data-babel="false" data-lang="js" data-hide="false" data-console="true"> <div> <pre><code>jQuery(document).ready(function() { jQuery(&#39;.has-children&#39;).click(function() { jQuery(this).closest(&#39;.header-jr&#39;).toggleClass(&#39;br-top-only&#39;); }); });</code></pre> <pre><code>.br-top-only { background-color: red; }</code></pre> <pre><code>&lt;script src=&#34;https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js&#34;&gt;&lt;/script&gt; &lt;div class=&#39;header-jr&#39;&gt; &lt;div&gt; &lt;div class=&#39;otherdiv&#39;&gt;text&lt;/div&gt; &lt;div class=&#39;otherdiv&#39;&gt;text&lt;/div&gt; &lt;div class=&#39;otherdiv&#39;&gt;text&lt;/div&gt; &lt;div class=&#39;has-children&#39;&gt;text&lt;/div&gt; &lt;/div&gt; &lt;/div&gt; &lt;br&gt; &lt;div class=&#39;header-jr&#39;&gt; &lt;div&gt; &lt;div class=&#39;otherdiv&#39;&gt;text&lt;/div&gt; &lt;div class=&#39;otherdiv&#39;&gt;text&lt;/div&gt; &lt;div class=&#39;otherdiv&#39;&gt;text&lt;/div&gt; &lt;div class=&#39;has-children&#39;&gt;text&lt;/div&gt; &lt;/div&gt; &lt;/div&gt;</code></pre> </div> </div> <p></p> </answer> </body></html>

回答 0 投票 0

当我尝试单击功能时,pyautogui 和 pydirectinput 都不起作用

我正在尝试使用点击功能。即使光标移动到确切的坐标,它也不会单击,并且该过程以代码 0 结束 将 tkinter 导入为 tk 将 pydirectinput 导入为 p 我...

回答 2 投票 0

如何在Python中对每次点击做出true-false?

我正在尝试在Python项目中提高自己,但我陷入了困境。问题是;我希望每次用鼠标左键单击时,我定义的全局变量都会更改为 true-false。那个...

回答 1 投票 0

这些广告会发生什么?

如果我将广告应用添加到我的应用程序中,但我实际上并没有在 Admob 中将其货币化,我仍然可以获得点击费用吗?我上个月发布了一个应用程序,现在我意识到,我没有货币化......

回答 2 投票 0

下拉文本框的按钮

我正在尝试使用 CSS/HTML 编写一个按钮,当您单击它时,它会下拉/显示一个文本框。 这是我想要实现的目标的图像:

回答 3 投票 0

通过 Chrome 扩展程序单击页面上的元素

我正在尝试创建一个 Chrome 扩展程序,当您单击扩展程序上的按钮时,该扩展程序将单击网页上的元素,但由于某种原因,无论我尝试什么,它都不会执行任何操作。 我有这个...

回答 1 投票 0

使用 jQuery 时,边缘中的 <option> 上没有单击事件

刚刚发现,当单击选择选项时,MS Edge 中没有触发单击事件。 这是使用 jQuery 1.9.1 的代码: // data-hide - 在 data-hide 属性 onClick 中隐藏元素 ...

回答 1 投票 0

JavaScript Click 不适用于 Google 翻译图像

我尝试编写 JavaScript 扩展来翻译 Windows 剪贴板中的图像。 网站页面网址:https://translate.google.fr/?hl=fr&sl=auto&tl=fr&op=images 图片已经...

回答 1 投票 0

单击将 a) 滚动到 div,b) 打开所述 div,c) 将 html 从另一个页面加载到该 div 中。怎么办?

我已经有了“滚动到”和切换功能: $("a.view").click(function(){ $("#content").slideToggle("慢"); 返回假; }); 滚动是通过这个来处理的

回答 1 投票 0

如何使 jquery 切换工作

我有一个简单的两个div: 菜单 我想单击 div#tic 来上下切换 div#slide_menu。 我正在尝试...

回答 1 投票 0

切换下一个元素(jQuery)

HTML: 采访 这是问题1? 这是一个答案! HTML: <div class="interview"> <h4>Interview</h4> <a href="#" class="question">This is question 1?</a> <div class="answer">This is an answer!</div> <a href="#" class="question">This is question 2?</a> <div class="answer">This is an answer!</div> <a href="#" class="question">This is question 3?</a> <div class="answer">This is an answer!</div> </div> jQuery: if ($('interview')[0]) { $('interview .question').toggle(function () { $(this).next('.answer').slideIn(); }, function () { $(this).next('.answer').slideOut(); }); } ...我不明白为什么它不起作用。 注意点: .interview 另外,没有slideIn,请尝试slideDown和slideUp:http://jsbin.com/ajawo3 如果这些函数中没有任何其他代码,更好的选择是slideToggle:http://api.jquery.com/slideToggle/ 您正在使用类选择器,它应该以 . 开头 所以你必须改变 $('interview .question') 到 $('div.interview .question') 这是一个简单的版本... $('a.question').click(function () { $(this).next('.answer').slideToggle(); });

回答 3 投票 0

Python,检查是否按下了箭头键

如何在Python中检查用户是否按下了箭头键?我想要这样的东西: 如果 right_key.pressed(): do_some_shit() elif left_key.pressed(): do_other_stuff()

回答 4 投票 0

有没有办法通过文本内容获取元素?

我有一个问题困扰了一段时间,抱歉在论坛上发了一些垃圾邮件。 有什么方法可以通过元素的文本内容获取元素吗?这是一个例子: 我有一个问题困扰了一段时间,很抱歉在论坛上发了一些垃圾邮件。 有什么方法可以通过元素的文本内容获取元素吗?这是一个例子: <span id="result_5_name" class="market_listing_item_name" style="color: #FFD700;">Item | Anodized Navy</span> 我试图通过文本内容“Item | ”来获取元素阳极氧化海军蓝'。 是否可以做类似的事情: function getelem { var item = document.getElementsByTextContent('Item | Anodized Navy'); item[0].click(); } 我知道这并不存在,但这只是为了让你明白这个想法。另外,我无法通过 Id 或类名使用,并且无法更改元素的 HTML 代码,因此必须使用文本内容来完成,我没有看到其他方法。 我非常感谢任何反馈, 谢谢! 尽管 jQuery 公开了 :contains 伪选择器,但明智的做法是首先在可能的情况下使用类来限制结果: $('.market_listing_item_name:contains("Item | Anodized Navy")') 缩小要搜索的初始标签集可以提高性能,否则将考虑所有标签;此外,重叠的标签也会匹配。 在更现代的浏览器上,您可以考虑这一点,基于这个答案: function contains(selector, text) { var elements = document.querySelectorAll(selector); return [].filter.call(elements, function(element) { var contents = element.textContent || element.innerText || ''; return contents.indexOf(text) != -1; }); } var items = contains('.market_listing_item_name', 'Item | Anodized Navy') items[0] && items[0].click(); 好吧,既然您用 jquery 标记了问题,您可以使用 :contains 选择器: var item = $(':contains(Item | Anodized Navy)'); 但请注意,这将返回包含该文本的 every 元素,包括 span 和跨度的所有父元素。如果您只想获取最里面的元素(假设只有一个),只需获取最后一项,如下所示: var item = $(':contains(Item | Anodized Navy)').last(); 要使用 jQuery 实现等效的 without,你必须实现这样的函数: function getElementsByText(text) { var spans = document.getElementsByTagName('span'), results = []; for(var i = 0; i < spans.length; i++) { var content = spans[i].textContent || spans[i].innerText || ''; if (content.indexOf(text) != -1) results.push(spans[i]); } return results; } 或者可能像这样,具体取决于您需要什么: function getElementsByText(text) { function rec(ele, arr) { if (ele.childNodes.length > 0) for (var i = 0; i < ele.childNodes.length; i++) rec(ele.childNodes[i], arr); else if (ele.nodeType == Node.TEXT_NODE && ele.nodeValue.indexOf(text) != -1) arr.push(ele.parentNode); return arr; } return rec(document.body, []); } 然后像这样调用这个函数: var item = getElementsByText('Item | Anodized Navy'); 另请注意,在您的代码中,getelem需要在函数名称后面有(),如下所示: function getelem() { var item = getElementsByText('Item | Anodized Navy'); ... } 也许我回答这个问题晚了,但我没有看到用 JQuery 标记的问题,所以这里有一个纯 JavaScript 解决方案: var myID = getElementsByTextContent('Item | Anodized Navy'); function getElementsByTextContent (elText){ var spanID; var allSpans = document.getElementsByTagName("span"); for (var i = 0; i < allSpans.length; i++) { var spanText = allSpans[i].innerHTML; if(spanText == elText ){ spanID = allSpans[i].id; } } return spanID; } 你想要这样的东西 HTML <span id="result_5_name" class="market_listing_item_name" style="color: #FFD700;">Item | Anodized Blue</span> <span id="result_6_name" class="market_listing_item_name" style="color: #FFD700;">Item | Anodized Navy</span> <span id="result_7_name" class="market_listing_item_name" style="color: #FFD700;">Item | Anodized Red</span> <span id="result_8_name" class="market_listing_item_name" style="color: #FFD700;">Item | Anodized Green</span> <span id="result_9_name" class="market_listing_item_name" style="color: #FFD700;">Item | Anodized Navy</span> Javascript function walkTheDOM(node, func) { func(node); node = node.firstChild; while (node) { walkTheDOM(node, func); node = node.nextSibling; } } function getElementsByText(node, text) { var results = []; walkTheDOM(node, function (currentNode) { if (currentNode.nodeType === 3 && currentNode.nodeValue === text) { results.push(currentNode.parentNode); } }); return results; } console.log(getElementsByText(document, 'Item | Anodized Navy')); 输出 [span#result_6_name.market_listing_item_name, span#result_9_name.market_listing_item_name] 在 jsFiddle 额外 1,正如我们所讨论的 treeWalker function getElementsByText(node, text) { var results = [], treeWalker = document.createTreeWalker( node, NodeFilter.SHOW_TEXT, { acceptNode: function (node) { return NodeFilter.FILTER_ACCEPT; } }, false); while (treeWalker.nextNode()) { if (treeWalker.currentNode.nodeValue === text) { results.push(treeWalker.currentNode.parentNode); } } return results; } console.log(getElementsByText(document, 'Item | Anodized Navy')); 在 jsFiddle 另外 2,正如我们所讨论的 getElementsByTagName('*') function getElementsByText(node, text) { var results = [], tags = node.getElementsByTagName('*'), tagsLength = tags.length, tagsIndex, currentTag, childNodes, childNodesLength, ChildNodesIndex, currentChildNode; for (tagsIndex = 0; tagsIndex < tagsLength; tagsIndex += 1) { currentTag = tags[tagsIndex]; childNodes = currentTag.childNodes; childNodesLength = childNodes.length; for (ChildNodesIndex = 0; ChildNodesIndex < childNodesLength; ChildNodesIndex += 1) { currentChildNode = childNodes[ChildNodesIndex]; if (currentChildNode.nodeType === 3 && currentChildNode.nodeValue === text) { results.push(currentTag); } } } return results; } console.log(getElementsByText(document, 'Item | Anodized Navy')); 在 jsFiddle 请注意,这些解决方案是相同的,但与此处给出的所有 contains 解决方案不同。因为这些解决方案实际上为您提供了具有匹配文本节点作为子节点的节点。我使用的简单标记并未证明这一点,但当标记高度嵌套时,您很快就会注意到差异。 最后这是这 3 个解决方案的 jsPerf。 您可以简单地使用Jquery的:contains() 如果要选择包含文本“mytext”的所有范围,请使用 var elements=$('span:contains("mytext")); 如果对您有帮助,请标记为答案。 谢谢你:) 对于我的用例,我编写了一些简单的版本。 :not(has(*))对于防止父母的出现很有用。 function getElementsByText(root, text, selector = 'div:not(:has(*))') { const els = [...root.querySelectorAll(selector)]; return els.filter(el => el.innerText == text); }

回答 6 投票 0

Flutter - 如何在未聚焦的小部件中单击鼠标时检测按住键(CTRL)?

我可以使用 FocusNode 等焦点来识别何时按下 CTRL。但为此,需要首先关注小部件。有没有人有任何关于如何在小部件未获得焦点时检测此 CTRL 的提示...

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.