gpt4 book ai didi

java - Java 跳过 html 表的第一行

转载 作者:行者123 更新时间:2023-12-01 19:56:51 26 4
gpt4 key购买 nike

我仍在学习 xpath,并且我试图跳过表的第一行,因为第一行没有值。我没有成功,我通过堆栈溢出进行搜索,但找不到任何有类似问题的人。我的代码如下:

int reqIndex = 0;

do {

List<WebElement> payDates = driver.findElements(By.xpath("//tr[starts-with(@id,'changeStartWeekGrid_row_')]/td[contains(@id,'_cell_4')/span]"));
System.out.println(payDates);

for(WebElement pd:payDates) {
LocalDate localDate = LocalDate.now();
java.util.Date d = new SimpleDateFormat("yyyy-MM-dd").parse(localDate.toString());

String str = pd.getText();

if ( str >= (d) ){ // still figuring this out
driver.findElement(By.xpath( "//tr[@id='changeStartWeekGrid_row_'" + reqIndex +"])/TBODY[@id='changeStartWeekGrid_rows_tbody']/TR[7]/TD[1]/DIV[1]/DIV[1]/DIV[1]")).click();
break;
}else{
reqIndex++;
}

}
}while(reqIndex < 7 ); /// do this 7 times

Thread.sleep(10000);

这是我现在正在解决的问题

List<WebElement> payDates = driver.findElements(By.xpath("//tr[starts-with(@id,'changeStartWeekGrid_row_')]/td[contains(@id,'_cell_4')/span]"));
System.out.println(payDates);
Thread.sleep(10000);

xpath 的问题是它正在选择第一行,并且没有第 0 行的值,因此它需要跳过第一行并转到第 0 行。当我运行代码时,我收到此消息:

( //tr[starts-with(@id,'changeStartWeekGrid_row_')]/td[contains(@id,'_cell_4')/span])
ilter expression must evaluate to nodeset.

突出显示的行是我要跳过的行 enter image description here

细胞 4 图像

enter image description here

-----单选按钮html代码如下

<div id="changeStartWeekGrid.store.rows[5].cells[0]_widget" tabindex="0" class="revitRadioButton dijitRadio" onfocus="var registry = require('dijit/registry'); registry.byId('changeStartWeekGrid').changeActiveCell('changeStartWeekGrid_row_5_cell_0', event);" onblur="var registry = require('dijit/registry'); registry.byId('changeStartWeekGrid').blurActiveCell('changeStartWeekGrid.store.rows[5]', 'changeStartWeekGrid.store.rows[5].cells[0]');"><div class="revitRadioButtonIcon"></div></div>

---单选按钮图片

enter image description here

最佳答案

尝试使用 XPath

//table[@id='changeStartWeekGrid_rows_table']//tr[preceding-sibling::tr]

选择除第一个之外的所有 tr 节点

您还可以使用position()如下:

//table[@id='changeStartWeekGrid_rows_table']//tr[position()>1]

请注意,在 XPath 索引中从 1 开始,因此 [position()>1] 谓词意味着返回跳过第一个节点的所有兄弟节点

关于java - Java 跳过 html 表的第一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49341007/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com