- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
使用 powershell 进行 web ui 自动化。出现异常:调用方法失败,因为 [System.__ComObject] 不包含“点击”方法。
提交类型输入是否可以点击?
我使用了 getElementsByTagName getElementsByClassName getElementsByName ,不起作用。
谁能帮我解决这个问题?
powershell 代码如下:
# open the specified web site and commit the key
$ie = new-object -com "InternetExplorer.Application"
$ie.navigate("http://gitlab.alibaba-inc.com/keys/new")
$ie.visible = $true
while($ie.busy) {sleep 1}
$doc = $ie.document
# commit the button
$commit = $doc.getElementsByTagName("commit")
if($commit)
{$commit.click()}
html源码如下:
<!DOCTYPE html>
<html lang='en'>
<head>
<meta charset='utf-8'>
<title>
Profile |
GitLab
</title>
<link href="/assets/favicon-4b751da746de7855d7eb8123072388ed.ico" rel="shortcut icon" type="image/vnd.microsoft.icon" />
<link href="/assets/application-a9eac7f5b0c3b922de8997ae9ad74ab0.css" media="screen" rel="stylesheet" type="text/css" />
<script src="/assets/application-61398d184a36e6ae900134f123d5d649.js" type="text/javascript"></script>
<meta content="authenticity_token" name="csrf-param" />
<meta content="9SLFk6AwlsN2FoyO8xPY+M1hEbKfqlLTQ4CSDVc4efE=" name="csrf-token" />
<script type="text/javascript">
//<![CDATA[
window.gon = {};gon.default_issues_tracker="gitlab";gon.api_version="v3";gon.api_token="xkMg31Ssva322SDF cgxY";gon.gravatar_url="http://www.gravatar.com/avatar/%{hash}?s=% {size}&d=mm";gon.relative_url_root="";
//]]>
</script>
</head>
<body class='ui_basic profile' data-page='keys:new'>
<header class='navbar navbar-static-top navbar-gitlab'>
<div class='navbar-inner'>
<div class='container'>
<div class='app_logo'>
<span class='separator'></span>
<a href="/" class="home has_bottom_tooltip" title="Dashboard"><h1>GITLAB</h1>
</a><span class='separator'></span>
</div>
<h1 class='project_name'>Profile</h1>
<ul class='nav'>
<li>
<a>
<div class='hide turbolink-spinner'>
<i class='icon-refresh icon-spin'></i>
Loading...
</div>
</a>
</li>
<li>
<div class='search'>
<form accept-charset="UTF-8" action="/search" class="navbar-form pull-left" method="get"><div style="margin:0;padding:0;display:inline"><input name="utf8" type="hidden" value="✓" /></div>
<input class="search-input" id="search" name="search" placeholder="Search" type="text" />
<input id="group_id" name="group_id" type="hidden" />
<input id="repository_ref" name="repository_ref" type="hidden" />
<div class='search-autocomplete-json hide' data-autocomplete-opts='[{"label":"project: kelude2","url":"/kelude2"},{"label":"My Profile","url":"/profile"},{"label":"My SSH Keys","url":"/keys"},{"label":"My Dashboard","url":"/"},{"label":"Admin Section","url":"/admin"},{"label":"help: API Help","url":"/help/api"},{"label":"help: Markdown Help","url":"/help/markdown"},{"label":"help: Permissions Help","url":"/help/permissions"},{"label":"help: Public Access Help","url":"/help/public_access"},{"label":"help: Rake Tasks Help","url":"/help/raketasks"},{"label":"help: SSH Keys Help","url":"/help/ssh"}, {"label":"help: System Hooks Help","url":"/help/system_hooks"},{"label":"help: Web Hooks Help","url":"/help/web_hooks"},{"label":"help: Workflow Help","url":"/help/workflow"}]'> </div>
</form>
</div>
</li>
<li>
<a href="/public" class="has_bottom_tooltip" data-original-title="Public area" title="Public area"><i class='icon-globe'></i>
</a></li>
<li>
<a href="/s/heyun" class="has_bottom_tooltip" data-original-title="Public area" title="My snippets"><i class='icon-paste'></i>
</a></li>
<li>
<a href="/projects/new" class="has_bottom_tooltip" data-original-title="New project" title="Create New Project"><i class='icon-plus'></i>
</a></li>
<li>
<a href="/profile" class="has_bottom_tooltip" data-original-title="Your profile" title="My Profile"><i class='icon-user'></i>
</a></li>
<li>
<a href="/users/sign_out" class="has_bottom_tooltip" data-method="delete" data-original-title="Logout" rel="nofollow" title="Logout"><i class='icon-signout'></i>
</a></li>
<li>
<a href="/u/heyun" class="profile-pic"><img alt="F3ea5164088694b48e4980e52d831927? s=26&d=mm" src="http://www.gravatar.com/avatar/f3ea5164088694b48e4980e52d831927? s=26&d=mm" />
</a></li>
</ul>
</div>
</div>
</header>
<div class='flash-container'>
</div>
<nav class='main-nav'>
<div class='container'><ul>
<li class="home"><a href="/profile" title="Profile"><i class='icon-home'></i>
</a></li><li class=""><a href="/profile/account">Account</a>
</li><li class=""><a href="/profile/notifications">Notifications</a>
</li><li class="active"><a href="/keys">SSH Keys
<span class='count'>1</span>
</a></li><li class=""><a href="/profile/design">Design</a>
</li><li class=""><a href="/profile/history">History</a>
</li></ul>
</div>
</nav>
<div class='container'>
<div class='content'><h3 class='page_title'>Add an SSH Key</h3>
<hr>
<div>
<form accept-charset="UTF-8" action="/keys" class="new_key" id="new_key" method="post"> <div style="margin:0;padding:0;display:inline"><input name="utf8" type="hidden" value="✓" /><input name="authenticity_token" type="hidden" value="9SLFk6AwlsN2FoyO8xPY+M1hEbKfqlLTQ4CSDVc4efE=" /></div><div class='clearfix'>
<label for="key_title">Title</label>
<div class='input'><input id="key_title" name="key[title]" size="30" type="text" /> </div>
</div>
<div class='clearfix'>
<label for="key_key">Key</label>
<div class='input'>
<textarea class="xxlarge thin_area" cols="40" id="key_key" name="key[key]" rows="20">
</textarea>
<p class='hint'>
Paste your public key here. Read more about how generate it
<a href="/help/ssh">here</a>
</p>
</div>
</div>
<div class='actions'>
<input class="btn btn-save" name="commit" type="submit" value="Save" />
<a href="/keys" class="btn btn-cancel">Cancel</a>
</div>
</form>
</div>
<script>
$('#key_key').on('keyup', function(){
var title = $('#key_title'),
val = $('#key_key').val(),
key_mail = val.match(/([a-zA-Z0-9._-]+@[a-zA-Z0-9._-]+|\.[a-zA-Z0-9._-]+)/gi);
if( key_mail && key_mail.length > 0 && title.val() == '' ){
$('#key_title').val( key_mail );
}
});
</script>
</div>
</div>
</body>
</html>
最佳答案
您正在寻找错误的元素。 getElementsByTagName()
正在寻找实际的标签名称(输入
),而不是标签名称的值-属性(提交
)。此外,getElementsByTagName()
返回 COM 对象的集合。即使没有找到匹配的标签,该方法仍将返回一个集合(包含 0 个元素)。您需要检查 Length
属性,然后访问集合的第一个元素:
$commit = $doc.getElementsByTagName("input")
if ($commit.Length -gt 0) {
$commit.item(0).click()
}
或从集合中过滤具有您要查找的名称的元素:
$commit = $doc.getElementsByTagName("input") | ? { $_.name -eq "commit" }
if ($commit) { $commit.click() }
关于powershell:如何单击 "submit type"输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17721295/
我创建了一个函数来在两个元素的 style.display 之间切换为“none”或“block”。我在这里遇到的问题是“发送”按钮似乎与“切换”按钮具有相同的行为。这不是我指定它要做的事情。我想知道
当我使用 validate.js 添加表单验证时,其验证正常并显示验证消息。但输入 type="submit"值在操作页面结构中显示两次。 为了说明,我有两个 .cfm 文件,index.cfm 具有
我有一个 s:form,里面有 sj:submit 和 s:submit,sj:submit 工作正常,但 s:submit 按钮不起作用。当我点击 s:submit 按钮时没有任何反应。 我尝试在表
参见http://jsfiddle.net/8KNc7/5/有关我正在讨论的内容的工作示例(目前在 Firefox 15 中进行测试,尚未尝试其他版本)。 我有一个带有 submit 输入和 butt
我有一个包含表单的 HTML 页面。我想做一些字段 "required" 。问题是我没有使用 在我的表单中,我使用 Javascript 函数来提交表单,因为我需要将 Javascript 变量发送到
如果用户提交表单,我想运行特定的 PHP block 。如果我使用带有 name="submit"的提交按钮并且: 我对 javascript 一无所知,我希望代码在用户更改下拉菜单时运行。如果我将
我有一个网站 www.abc.com,其中有一个页面 xyz.php。 xyz.php 采用表单提交事件读取数据并保存在数据库中。 www.abc.com 有一个针对 xyz.php 执行操作的表单。
这个问题在这里已经有了答案: JavaScript post request like a form submit (32 个答案) 关闭 9 年前。 我查看了不同的线程,但找不到合适的解决方案。
我有一个表单提交触发器和一个确认引导框,它显示在单击表单提交按钮上。在 bootbox 中确认如果用户同意我提交表单。我的问题是 onsubmit 在用户说是之前触发,并且当我在 bootbox 中调
我正在使用 JavaScript .submit() 函数提交我的表单。 form.submit(); 但是当我使用 addEventListener 来捕获我的提交事件时,它不起作用。 form.a
编辑:在考虑回答问题之前,请仔细阅读问题的所有内容。我既不是在生产代码中使用内联事件处理程序的可取性,也不是在实现我所引用的文章所 promise 的结果的最佳方法。这是关于Javascript语义和
这是我的形式,对我来说看起来不错。在这种形式中,我放置了这个按钮: 这是它调用的函数: function confirmSubmit() { // get the number of st
以下哪个 CSS 选择器更快? input[type="submit"] { /* styles */ } 或 [type="submit"] { /* styles */ } 只是好
在表单上添加提交按钮的符合标准的正确语义方式是什么?我不需要按钮中的图像或背景,只需要简单的文本,也许是带弯 Angular 的渐变背景(使用 CSS3)。这些是我所知道的方法: click her
我的 App.js 包含以下代码: var app = angular.module('githubApp', []); 我有 githubAppController 和以下代码: app.contr
jQuery 允许通过以下任一方式以编程方式触发表单提交: $('.js-form-class-hook').submit(); $('.js-form-class-hook').trigger('s
我有一个表单,其中一个按钮使用 onClick 事件提交。 " 此外,我有一个输入,当输入处于焦点状态时按下回车键时会触发 couponButton。 虽然它们都触发相同的事件 (.submit()
目前只是尝试实现这些按钮:http://web.archive.org/web/20110721191046/http://particletree.com/features/rediscoverin
我正在提交我的第一个构建以供 TestFlight beta 审查,在创建一个组后,添加 4 名团队成员添加我的构建,取消单击该框以表示我需要登录信息来测试该应用程序,我单击“提交”审查。” iTun
我有一个带有 onsubmit 属性的表单。我需要绑定(bind)一个新的提交事件,并且我需要在任何现有提交函数之前执行此事件。 下面的代码演示了这个问题。 Test
我是一名优秀的程序员,十分优秀!