我们有选择代码,当点击TD中的空白空间时会触发该选择代码。 " onclick = ..."是在TR。
当我获得元素的父元素(TD)并单击它时,它会触发元素上的点击而不是TD或TR。因此,如果基本元素是一个链接,它会触发它。如果基本元素是没有onClick事件的东西,它什么都不做。
我检查被点击的元素的标签名称,我知道它是TD。我也尝试过上两次同样的结果点击该行。
如何在行上触发click事件的任何想法???
示例HTML:
private void imagePanel1_DragDrop_1(object sender, DragEventArgs e)
{
Type testTip = new TreeNode().GetType();
YLScsImage.ImagePanel dropPicturePanel = (YLScsImage.ImagePanel)sender;
TreeNode movedNode;
_mouseDownSelectedWindow = Rectangle.Empty;
if (e.Data.GetDataPresent(testtype))
{
movedNode= (TreeNode)e.Data.GetData(testType);
dropPicturePanel.Tag = movedNode.Tag;
movedNode.ImageIndex = 1;
movedNode.SelectedImageIndex = 1;
movedNode.ForeColor = Color.Gray;
//**************************************
//HERE IS THE CODE FOR THE CREATED PANEL
Panel panel1 = new Panel();
Point point1 = this.PointToClient(new Point(e.X - 278, e.Y - 19)); //the imagePanel1 is on the form at the point 278,19
panel1.AllowDrop = true;
panel1.Location = point1;
panel1.BackgroundImage = iltest.Images[0]; //nvm
panel1.Height = 16;
panel1.Width = 16;
imagePanel1.Controls.Add(panel1); //am adding it to the imagePanel1
//saving the locations of each panel
string path = @"C:\Users\Cosic\Desktop\ICR\TABELA3_Paneli.txt"; // path to file
if (!File.Exists(path))
File.Create(path);
if (panelBr == 0)
System.IO.File.WriteAllBytes(path, new byte[0]); //brise ceo text iz fajla
TextWriter sw = new StreamWriter(path, true);
sw.WriteLine(e.X + "; " + e.Y + "; " + panel1.Width + "; " + panel1.Height + ";");
sw.Close();
//am done with saving
panelBr++;//nvm
}
}
答案 0 :(得分:0)
对于文档中的select ANY元素,您可以使用完整或部分xpath。
例如:
"/html/body/div[5]/div[2]/div/div[3]/div[6]/div/table/tr[1]/td[2]"
或
".//table/tr[1]/td[2]"
并点击任何其他元素后=)
你可以通过右键点击任何标签从firebug / dragonfly / chrome开发工具自动生成的完整xpath并选择“copy xpath”
答案 1 :(得分:0)
可能的问题是不选择器。问题是元素的 SIZE 。 Selenium
不会点击高度/宽度为 0 的元素。 a
有效的原因是因为它有一些innerText
且大小不是 0 。希望它有意义。
答案 2 :(得分:0)
我通过生成一个单击TD元素的JavaScript命令找到了解决方法。不知道为什么它会以这种方式工作,但不能通过驱动程序,但它确实有效。
我们使用Prototype,所以如果我有ID: $( 'SOME_ID')。向上()。点击() 如果我有链接的文字: $$(“a:contains('Link Text')”)[0] .up()。click()