簡體   English   中英

單擊HTML Web表的單選按鈕-Java

[英]Click radio button of html web table- Java

我的問題是如何單擊HTML Web表的單選按鈕?

附加信息:

我的代碼工作正常,但是我無法使用xpath單擊選定列/行的單選按鈕。 我在循環中使用的xpath無法正常工作。 但是,我正在使用的xpath在Chrome瀏覽器中單獨工作。 我在想我需要將兩者結合在一起,但那可能不起作用,因為我不是使用xpath的專家。 在過去的24小時中,我一直在為此工作,但沒有解決方案。 我正在尋找關於stackoverflow的解決方案,但沒有發現任何類似的東西。

radio button xpath:
//TBODY[@id='changeStartWeekGrid_rows_tbody']/TR[7]/TD[1]/DIV[1]/DIV[1]/DIV[1]

我的代碼是:

List < WebElement > payDates = driver.findElements(By.xpath("//table[@id='changeStartWeekGrid_rows_table']//tr[position()>1]/td[position()=5]"));

         //** Begin third inner for-loop****
         for (WebElement pd: payDates) {
          System.out.println("sample1-> " + pd.getText());

          SimpleDateFormat dateFormat = new SimpleDateFormat("MM/dd/yyyy");
          Date payDate = dateFormat.parse(pd.getText());
          System.out.println("sample-> " + dateFormat.format(payDate));

          if (payDate.after(new Date())) {
           System.out.println("inside for loop");

           String radiobutton = "//TBODY[@id='changeStartWeekGrid_rows_tbody']/TR[7]/TD[1]/DIV[1]/DIV[1]/DIV[1]";
           WebElement calrow = driver.findElement(By.xpath(pd + radiobutton));
           calrow.click();

循環中的pd應該已經包含了我在想的正確鏈接,因為它正在遍歷payDates中的所有日期。

我循環瀏覽的HTML代碼只是一個示例。

<td id="changeStartWeekGrid_row_1_cell_4" style="" align="left" class="table-grid-cell OUTPUT_TEXT" title=""><span>03/02/2018</span></td>

HTML單選按鈕

<div class="revitRadioButtonIcon"></div>

我實際上發現我需要的是答案//table[@id='changeStartWeekGrid_rows_table']//span[text()='"+dateFormat.format(payDate)+"']/parent::td/preceding-sibling::td//div[@class='revitRadioButtonIcon']

如果發現您使用previous-sibling :: td //返回,然后使用td / following-sibling :: td //前進,則是另一個示例

element = driver.findElement(By.xpath("//td//*[contains(text(),'Regular Hours')]//ancestor::td/following-sibling::td//*[contains(@class,'reactTextBox')]")) ;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM