问题标签 [htmlelements]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
92 浏览

regex - c# windows窗体如何接收到webbrowser在listbox中包含“:”字符整行?

我想将网络浏览器报废为“:”所有行。

如果找到 : 然后从浏览器区域中删除所有行的完整行。

下面的代码我正在尝试但没有得到任何结果请检查并给我解决方案。

0 投票
3 回答
587 浏览

java - 如何从表中获取价值?

使用 htmlelements 模式,我想从表中获取值,即验证表是否包含值“ADMIN”。在 htmlelements 中,可以“从盒子里”处理表格。我写:

然后我不知道哪种方法有助于获得价值。

0 投票
1 回答
172 浏览

java - 在某些情况下,对 web 元素没有任何操作,只有在完全加载表单后才可用

我使用 htmlelements 模式,在 pagefactory 上类似。搜索通过@FindBy 的元素。某些元素无法执行操作(单击、发送键...),因为页面上的表单没有完全加载并且似乎没有对其执行操作,并且驱动程序已经尝试为其执行操作。仅帮助方法 Thread.sleep()。但我想使用显式等待。Timeouts(),htmlelements 的成员无济于事。例如:

在当前测试中长时间运行的行为并没有点击操作。我想实现这样的韧带:“WebElement + WebDriverWait + ExpectedConditions”

0 投票
2 回答
418 浏览

java - Htmlelements 框架。NoClassDefFoundError 异常出现在简单示例中

今天我找到了一个很好的例子,说明如何使用 Selenium Webdriver 为 Web 应用程序构建自己的测试自动化框架,并获得易于理解的代码和架构。此示例演示了 Yandex Htmlelements 框架的使用。但是当我尝试使用这个框架启动我的第一个简单示例时,我遇到了一个永久性问题。它的名字是“NoClassDefFoundError”。

接下来是 Stacktrace:

在当前应用程序中,我使用 Selenium 2.46 + Htmlelements 1.14 + 最新的 TestNG。我也有早期的 Htmlelements 库(1.11)和 Selenium 2.48。我尝试使用不同的库版本组合来启动我的示例。我还使用了不同的方法来注释由适当的类表示的我的 html 块,并使用以下方法初始化我的页面对象

或者

这是官方教程中建议的。但结果总是一样的:我总是在调用上述方法时得到 NoClassDefFoundError 。

0 投票
3 回答
1645 浏览

c# - 为什么用 'runat="server"' 装饰 HTML 元素不能从代码隐藏中访问它们?

根据这个How to access html controls in code behind,我应该能够将 'runat="server"' 添加到我的 html 元素中,如下所示:

...然后通过 C# 中的 ID 访问 html 元素,如下所示:

但是,尝试这样做会导致“当前上下文中不存在名称‘电子邮件’

试图从代码隐藏中访问 html 元素以进行操作真的是一个失败的原因吗?

更新

在回答/响应史蒂夫布鲁克斯的建议时,这是我在 ascx 文件顶部的内容:

...而布鲁克斯先生推荐这样的东西:

这足够接近吗?IOW,而不是“Page”,我有“Control”(它源自 UserControl);我有“CodeBehind”而不是“CodeFile”,我的继承不同。

我尝试将AutoEventWireup切换为 false,但没有任何区别。

更新 2

谢谢索林,

我不知道这个要求(将所有内容都包含在“表单”标签中),但即使这样做了:

...没什么区别; 我仍然得到,“名称'电子邮件'在当前上下文中不存在”

更新 3

对 Steve Brookes 建议的另一个回应是“将 CodeBehind 更改为 CodeFile 并添加一个 Inherits 属性,该属性应与您的代码隐藏文件的类名相匹配。另一个建议是将 ID 更改为 EmailAddress 或其他东西,因为它可能是某种与保留字的命名冲突!”:

首先,我将 CodeBehind 更改为 CodeFile

然后,我验证了 Inherits 属性与我的代码隐藏文件的类名匹配。该文件是:

...继承值是“ PostTravelWizard.PostTravelWizardWebPart.PostTravelWizardWebPartUserControl

最后,我还将 HTML 元素的 ID 从“email”更改为“emailaddress”:

...但现在我得到了,“名称'emailaddress'在当前上下文中不存在

更新 4

有关这里正在尝试的内容的一些背景信息。

这是在 *.ascx 文件中的 html 块中定义“电子邮件”输入的位置:

这是我尝试从相应的 *.ascx.cs 文件中访问其值的方式:

但我得到了奖励,“当前上下文中不存在名称‘emailaddress’

更新 5

遵循 Steven Brookes 的建议:

您可以右键单击 ascx 文件并查看设计器,然后更改为查看代码。这很可能会重新生成设计器文件

我能够将一些字段放入designer.cs;其他人(大多数)因为他们开始“隐藏”?我不知道...

0 投票
0 回答
89 浏览

htmlelements - 包装一个 WebElement 列表并作为单个 WebElement 呈现

我正在自动测试响应 Web 应用程序,并且页面上的多个元素存在问题,使用相同的 @FindBy 选择器,在特定的屏幕分辨率下只有一个元素可见(在这种情况下,是一个在屏幕上“移动”的注销按钮) .

我可以获取一个 webelements 列表并单击第一个可见的,但我想知道是否可以使用 html 元素做一些更聪明的事情:

给出以下注释

我调用这个方法时

然后MultiWebElement 类将遍历所有与 find by 匹配的元素,并在第一个 isDisplayed() 上调用 click 方法。

不幸的是,装饰器似乎希望 logoutButton 是 List 类型,这违背了创建新类的目的。

我可以做这样的事情,还是超出当前范围?

0 投票
1 回答
140 浏览

java - 等待 HtmlElements

如果该按钮不存在,则测试将挂起超过 5 秒。

方法findElement()inDefaultElementLocator被调用了 ~63 次!

块的嵌套越深,等待时间越长。

是否可以在 htmlElements 中以这种方式使用块?我究竟做错了什么?

0 投票
1 回答
192 浏览

htmlelements - 使用 htmlelements 没有发生任何操作

目前我正在致力于自动化测试解决方案的实施。我决定选择 htmlelements,但在此实施过程中,我正在使用干净的 webdriver+pagefactory 进行编码,以了解 htmlelements 的优势。我不太擅长编码,几乎一开始就卡住了。我已经创建了在http://htmlelements.qatools.ru/的介绍中实现的 java 类。

这是我的代码:

pom.xml

LoginForm.java(元素)

登录页面(页面对象):

MSWhtml元素(测试):

因此,如您所见,我尝试调用操作 2 次: loginPage.usernm.sendKeys("123123"); - 工作正常 loginPage.Login("epichugin", "epichugin"); - 根本不起作用。甚至没有出现异常。

在 webdriver+pageobjects 的情况下,它工作得非常好且稳定。这是我的 pageobject 类。对此的测试几乎相同:

先感谢您!

0 投票
1 回答
23 浏览

types - 使用 jQuery 更改 html 元素的类型

我想将 h4 元素更改为 h3 元素。

jQuery有什么简单的可能性吗?

当然还有 .replaceWith 函数。但是我的h3-element的内容一定不能删除。

谢谢!

0 投票
1 回答
68 浏览

htmlelements - 是否可以在另一个 HTMLElements 块中包含 HTMLElements 块

有人可以澄清一下是否可以在另一个 HTMLElements 块中包含 HTMLElements 块。