首页 > 其他分享 >playwright for net 对日期选择控件(My97DatePicker)的设置

playwright for net 对日期选择控件(My97DatePicker)的设置

时间:2024-04-03 23:12:02浏览次数:15  
标签:控件 playwright text await ClickAsync Click My97DatePicker input page

 

playwright f 对日期选择控件的设置,直接使用js脚本

public partial class MainForm : Form
{
IPlaywright playwright;
IPage page;
public MainForm()
{
InitializeComponent();
}

private async void MainForm_Load(object sender, EventArgs e)
{
dtpStart.Value = DateTime.Now.Date.AddDays(-366);
cbxDkyy.SelectedIndex = 1;
playwright = await Playwright.CreateAsync();
var userDataDir = $"{Directory.GetCurrentDirectory()}\\UserData";
var context = await playwright.Chromium.LaunchPersistentContextAsync(userDataDir,
new BrowserTypeLaunchPersistentContextOptions
{
Headless = false,
ViewportSize = new ViewportSize()
{
Width = 1920,
Height = 1080
}
}
);
page = context.Pages[0];
await page.GotoAsync("https://www.dacong.com/");
await page.ClickAsync("input[type=\"text\"]");
// Fill input[type="password"]
await page.FillAsync("input[type=\"password\"]", "a1234567dc");
// Press Enter
await page.RunAndWaitForNavigationAsync(async () =>
{
await page.PressAsync("input[type=\"password\"]", "Enter");
});


}

private async Task SendDataAsync()
{
var strAry = txtCode.Text.Split(',');
if (strAry.Length < 4)
{
MessageBox.Show("不是有效的条码!");
return;
}
try
{
var fphm = strAry[2];
await page.FillAsync("#fphm", fphm);


// Click #search >> text=查询
await page.ClickAsync("#search >> text=查询");
await page.WaitForTimeoutAsync(300);
// Check input[name="checkbox1"]
await page.CheckAsync("input[name=\"checkbox1\"]");

if (rbtnBdk.Checked)
{
var code = cbxDkyy.Text.Substring(0, 1);
await page.SelectOptionAsync("#b3bdklx", new[] { code });
}
btnSend.Enabled = true;
// Click text=提交
await page.ClickAsync("text=提交", new() { Timeout = 40500 });
// Click input:has-text("确定")
await page.ClickAsync("input:has-text(\"确定\")");
// Click input:has-text("确定")
await page.ClickAsync("input:has-text(\"确定\")");
txtCode.Clear();
}
catch (Exception)
{

btnSend.Enabled = true;
}
}


private async void btnSend_Click(object sender, EventArgs e)
{
btnSend.Enabled = false;
await SendDataAsync();
}

private async void txtCode_KeyUp(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter)
await SendDataAsync();
}

private async void btnSetrq_Click(object sender, EventArgs e)
{
//日期 开始
//await page.ClickAsync("#sjq");
//await page.FillAsync("#sjq", dtpStart.Value.ToString("yyyy-MM-dd"));
// //await page.PressAsync("#sjq", "Enter");
// // Fill text=日期: - >> input[type="text"]
// await page.PressAsync("#sjq", "Enter");
// await page.ClickAsync("#sjq");
// await page.WaitForTimeoutAsync(3000);
// // 日期-截止
// await page.ClickAsync("#sjz");
// await page.PressAsync("#sjz", "Shift+End");
// await page.FillAsync("#sjz", dtpEnd.Value.ToString("yyyy-MM-dd"));
// await page.PressAsync("#sjz", "Enter");
// await page.WaitForTimeoutAsync(3000);

//直接使用js脚本playwright,My97 DatePicker 

//await page.EvaluateAsync($"$('#sjq\').val('{dtpStart.Value.ToString("yyyy-MM-dd")}');$('#sjz').val('{dtpEnd.Value.ToString("yyyy-MM-dd")}')");
await page.EvaluateAsync($"$('#sjq\').val('{dtpStart.Value.ToString("yyyy-MM-dd")}');");
txtCode.Focus();
}

private void btnReset_Click(object sender, EventArgs e)
{
txtCode.Clear();
txtCode.Focus();
}
}

标签:控件,playwright,text,await,ClickAsync,Click,My97DatePicker,input,page
From: https://www.cnblogs.com/dacong/p/18113688

相关文章

  • 界面控件Kendo UI for jQuery 2024 Q1亮点 - 新的ToggleButton组件
    Telerik & KendoUI 2024Q1版本于2024年初发布,在此版本中将AI集成到了UI组件中,在整个产品组合中引入AIPrompt组件以及10多个新的UI控件、支持Angular17、多个数据可视化功能增强等。P.S:KendoUIforjQuery提供了在短时间内构建现代Web应用程序所需的一切,从众多UI子控件中......
  • 界面控件Kendo UI for jQuery 2024 Q1亮点 - 新的ToggleButton组件
    Telerik & KendoUI 2024Q1版本于2024年初发布,在此版本中将AI集成到了UI组件中,在整个产品组合中引入AIPrompt组件以及10多个新的UI控件、支持Angular17、多个数据可视化功能增强等。P.S:KendoUIforjQuery提供了在短时间内构建现代Web应用程序所需的一切,从众多UI子控......
  • 界面控件DevExtreme JS & ASP.NET Core 2024年度产品规划预览(一)
    在本文中我们将介绍今年即将发布的v24.1附带的主要特性,这些特性既适用于DevExtreme JavaScript(Angular、React、Vue、jQuery),也适用于基于DevExtreme的ASP.NETMVC/Core控件。注意:本文中列出的功能和特性说明官方当前/预计的发展计划,此信息仅供参考之用,其中列出的功能/产品可......
  • WPF开发分页控件:实现可定制化分页功能及实现原理解析
    概要本文将详细介绍如何使用WPF(WindowsPresentationFoundation)开发一个分页控件,并深入解析其实现原理。我们将通过使用XAML和C#代码相结合的方式构建分页控件,并确保它具有高度的可定制性,以便在不同的应用场景中满足各种需求。一.简介分页控件是在许多应用程序中常见......
  • WPF实现树形表格控件(TreeListView)
    前言本文将探讨如何利用WPF框架实现树形表格控件,该控件不仅能够有效地展示复杂的层级数据,还能够提供丰富的个性化定制选项。我们将介绍如何使用WPF提供的控件、模板、布局、数据绑定等技术来构建这样一个树形表格。一、运行效果1.1默认样式1.2自定义样式二、代码实现......
  • playwright 操作
    importtimeimportcsvfromplaywright.sync_apiimportPlaywright,sync_playwrightwithsync_playwright()asplaywright:browser=playwright.chromium.launch(headless=False)#打开一个浏览器会话context=browser.new_context()context.clear_......
  • App自动化测试:高级控件交互技巧
    简介APP的控件元素不仅涵盖了基础用户界面操作,还包括用户与应用程序中更复杂、功能丰富的空间之间的互动。这种交互远不止于简单的按钮或输入框。通过借助Appium的Actions,能够完成对应用程序进行手势识别的交互。这意味着可以通过各种手势,如滑动、缩放、长按等,实现更灵活、直......
  • WinForm 程序中控件坐标之间的转换
    控件坐标系和屏幕坐标系之间的转换:如果要将一个控件上的点(例如Label或Button)的坐标(x,y)转换为屏幕上的点(x1,y1),可以使用Control.PointToScreen方法。例如:PointcontrolPoint=newPoint(x,y);PointscreenPoint=control1.PointToScreen(controlPoint);屏幕坐标......
  • 一个可以让你有更多时间摸鱼的WPF控件(二)
    前言  上文介绍了如何通过一个Form自定义控件来简化数据的录入,并自动实现数据校验,自动布局排列等功能。本文继续介绍如何优化表格控件的使用,缩减代码量,实现工作效率的提升。一、功能实现   上文中分析了DataGrid跟ListView两种表格控件的优劣,在这里我们选择ListView来实......
  • WPF中继承ItemsControl子类控件数据模板获取选中属性
    需求场景列表类控件,如ListBox、ListView、DataGrid等。显示的行数据中,部分内容依靠选中时触发控制,例如选中行时行记录复选,部分列内容控制显隐。案例源码以ListView为例。Xaml部分<ListViewItemsSource="{BindingMyPropertys}"IsManipulationEnabled="False"><List......