簡體   English   中英

如果所有Xpath都相同,如何識別Selenium中的每個編輯文本字段

[英]How to identify each edit text field in Selenium if all their Xpath are same

我正在嘗試使用Java在Selenium中的8個文本字段中傳遞值。 但是,當我采用他們的xpath時,所有8個文本字段都相同。 通過分別標識每個字段,如何在其中輸入值? 此頁面中還有3個“保存”按鈕,具有相同的xpath。 如何分別識別它們? 以下是我的代碼(具有用於8個文本字段的相同xpath和“保存”按鈕):

        //Enter values in 8 textfields
        driver.findElement(By.xpath(".//*[@id='placement_link']")).sendKeys("aaa");
        driver.findElement(By.xpath(".//*[@id='placement_link']")).sendKeys("aaa");
        driver.findElement(By.xpath(".//*[@id='placement_link']")).sendKeys("bbb");
        driver.findElement(By.xpath(".//*[@id='placement_link']")).sendKeys("ccc");
        driver.findElement(By.xpath(".//*[@id='placement_link']")).sendKeys("ddd");
        driver.findElement(By.xpath(".//*[@id='placement_link']")).sendKeys("eee");
        driver.findElement(By.xpath(".//*[@id='placement_link']")).sendKeys("fff");
        driver.findElement(By.xpath(".//*[@id='placement_link']")).sendKeys("fff");

           //Click on 'Save' button
           driver.findElement(By.xpath(".//*[@id='submit']")).click();
           Thread.sleep(10000);

            //Enter recepient
            driver.findElement(By.xpath(".//*[@id='receipient_add']")).click();

            //click 'Save' button below recipient
            driver.findElement(By.xpath(".//*[@id='submit']")).click();
            Thread.sleep(10000);
    ***HTML****
    Relevant section of the text field:

<document>
<html class="js" lang="en" dir="ltr" xml:lang="en" xmlns="http://www.w3.org/1999/xhtml">
<head>
<body class="not-front logged-in page-manage-listing-agent no-sidebars tableHeader-processed">
<!-- wrapper -->
<div id="wrapper">
<!-- container -->
<div id="container">
<!-- page_wrapper -->
<div id="page_wrapper">
<!-- page -->
<div id="page">
<!-- page-header -->
<div id="page-header" class="style_float">
<!--end page-header -->
<div class="clear"/>
<!-- main menu -->
<div class="style_main_menu">
<!--end main menu -->
<div class="clear"/>
<div id="subheading" class="style_flow">
<div class="clear"/>
<!-- center -->
<div id="center" class="style_center_content_default">
<!-- content above -->
<div class="style_content_above_wrapper">
<!-- end content above -->
<!-- left side bar -->
<div id="sidebar-left" class="sidebar">
<!--end left side bar -->
<div class="style_content_main_wrapper">
<div id="content-main">
<!-- error message -->
<div class="error-message "/>
<!-- content help -->
<div class="content-help"/>
<div class="clear-block">
<h3 class="style_sub_title"/>
<form id="rmls-manage-agent-listing" method="post" accept-charset="UTF-8" action="/manage-listing-agent/4756/7/Next">
<div>
<h3 class="style_sub_title">Tour Activity Status</h3>
<input id="edit-step" type="hidden" value="8" name="step"/>
<div class="container-inline-date form-item date-clear-block">
<div class="container-inline-date form-item date-clear-block">
<div class="form-submit-button">
<input id="form-nyo3QvZDdsqgPcIa0hMiityFWDw-jdMA6XuYvJU7aMU" type="hidden" value="form-nyo3QvZDdsqgPcIa0hMiityFWDw-jdMA6XuYvJU7aMU" name="form_build_id"/>
<input id="edit-rmls-manage-agent-listing-form-token" type="hidden" value="f18fc36d4d750ae3912d9cc941aa5c72" name="form_token"/>
<input id="edit-rmls-manage-agent-listing" type="hidden" value="rmls_manage_agent_listing" name="form_id"/>
<table class="sticky-header" style="position: fixed; top: 0px; width: 605px; left: 480px; visibility: hidden;">
<table class="statistic_table sticky-enabled sticky-table">
<div id="style_activity_text" class="style_sub_title_two">Premium Placements</div>
<div id="">
<form id="rmls-activity-report-placement-list-form" method="post" accept-charset="UTF-8" action="/manage-listing-agent/4756/7/Next">
<div>
<div class="placement_save">
<div class="placement_div">
<input id="edit-placement24798" type="hidden" value="24798" name="placement24798"/>
<img class="placement-images" src="/sites/default/files/imagecache/product_list/sites/all/themes/rmls_webtheme/stat-images/news-title1.jpg"/>
<div class="placement_txt_div">
<div id="placement_title-wrapper" class="form-item">
<div id="placement_link-wrapper" class="form-item">
<label for="placement_link">Link: </label>
<input id="placement_link" class="form-text" type="text" value="" size="60" name="link24798" maxlength="255"/>
</div>
</div>
<div class="placement_radio_div">
</div>
<div class="placement_div">
<input id="edit-placement24799" type="hidden" value="24799" name="placement24799"/>
<img class="placement-images" src="/sites/default/files/imagecache/product_list/sites/all/themes/rmls_webtheme/stat-images/news-title8.jpg"/>
<div class="placement_txt_div">
<div id="placement_title-wrapper" class="form-item">
<div id="placement_link-wrapper" class="form-item">
<label for="placement_link">Link: </label>
<input id="placement_link" class="form-text" type="text" value="" size="60" name="link24799" maxlength="255"/>
</div>
</div>
<div class="placement_radio_div">
</div>
<div class="placement_div">
<input id="edit-placement24800" type="hidden" value="24800" name="placement24800"/>
<img class="placement-images" src="/sites/default/files/imagecache/product_list/sites/all/themes/rmls_webtheme/stat-images/news-title2.jpg"/>
<div class="placement_txt_div">
<div id="placement_title-wrapper" class="form-item">
<div id="placement_link-wrapper" class="form-item">
<label for="placement_link">Link: </label>
<input id="placement_link" class="form-text" type="text" value="" size="60" name="link24800" maxlength="255"/>
</div>
</div>
<div class="placement_radio_div">
</div>
<div class="placement_div">
<input id="edit-placement24801" type="hidden" value="24801" name="placement24801"/>
<img class="placement-images" src="/sites/default/files/imagecache/product_list/sites/all/themes/rmls_webtheme/stat-images/news-title7.jpg"/>
<div class="placement_txt_div">
<div id="placement_title-wrapper" class="form-item">
<div id="placement_link-wrapper" class="form-item">
<label for="placement_link">Link: </label>
<input id="placement_link" class="form-text" type="text" value="" size="60" name="link24801" maxlength="255"/>
</div>
</div>
<div class="placement_radio_div">
</div>
<div class="placement_div">
<input id="edit-placement24802" type="hidden" value="24802" name="placement24802"/>
<img class="placement-images" src="/sites/default/files/imagecache/product_list/sites/all/themes/rmls_webtheme/stat-images/news-title3.jpg"/>
<div class="placement_txt_div">
<div id="placement_title-wrapper" class="form-item">
<div id="placement_link-wrapper" class="form-item">
<label for="placement_link">Link: </label>
<input id="placement_link" class="form-text" type="text" value="" size="60" name="link24802" maxlength="255"/>
</div>
</div>
<div class="placement_radio_div">
</div>
<div class="placement_div">
<input id="edit-placement24803" type="hidden" value="24803" name="placement24803"/>
<img class="placement-images" src="/sites/default/files/imagecache/product_list/sites/all/themes/rmls_webtheme/stat-images/news-title6.jpg"/>
<div class="placement_txt_div">
<div id="placement_title-wrapper" class="form-item">
<div id="placement_link-wrapper" class="form-item">
<label for="placement_link">Link: </label>
<input id="placement_link" class="form-text" type="text" value="" size="60" name="link24803" maxlength="255"/>
</div>
</div>
<div class="placement_radio_div">
</div>
<div class="placement_div">
<input id="edit-placement24804" type="hidden" value="24804" name="placement24804"/>
<img class="placement-images" src="/sites/default/files/imagecache/product_list/sites/all/themes/rmls_webtheme/stat-images/news-title4.jpg"/>
<div class="placement_txt_div">
<div id="placement_title-wrapper" class="form-item">
<div id="placement_link-wrapper" class="form-item">
<label for="placement_link">Link: </label>
<input id="placement_link" class="form-text" type="text" value="" size="60" name="link24804" maxlength="255"/>
</div>
</div>
<div class="placement_radio_div">
</div>
<div class="placement_div">
<input id="edit-placement24805" type="hidden" value="24805" name="placement24805"/>
<img class="placement-images" src="/sites/default/files/imagecache/product_list/sites/all/themes/rmls_webtheme/stat-images/news-title5.jpg"/>
<div class="placement_txt_div">
<div id="placement_title-wrapper" class="form-item">
<div id="placement_link-wrapper" class="form-item">
<label for="placement_link">Link: </label>
<input id="placement_link" class="form-text" type="text" value="" size="60" name="link24805" maxlength="255"/>
</div>
</div>
<div class="placement_radio_div">
</div>
<div class="placement_submit_div">
<input id="form-mLn9X6UrPnGLa0cYCdxkBN3crwQzf-Cw5zU0lnbVufU" type="hidden" value="form-mLn9X6UrPnGLa0cYCdxkBN3crwQzf-Cw5zU0lnbVufU" name="form_build_id"/>
<input id="edit-rmls-activity-report-placement-list-form-form-token" type="hidden" value="4305d09bc8205b6d0db44711023395c9" name="form_token"/>
<input id="edit-rmls-activity-report-placement-list-form" type="hidden" value="rmls_activity_report_placement_list_form" name="form_id"/>
</div>
</form>
</div>
<div class="style_sub_title_two">Custom Placements</div>
<a class="custom-placement-link" href="/%2523">Add New</a>
<div id="activity_report_placement_form_div" style="display:none;">
<form id="rmls-activity-report-placement-form" enctype="multipart/form-data" method="post" accept-charset="UTF-8" action="/manage-listing-agent/4756/7/Next">
<div>
<div id="placement_title-wrapper" class="form-item">
<div id="placement_link-wrapper" class="form-item">
<label for="placement_link">Link: </label>
<input id="placement_link" class="form-text" type="text" value="" size="60" name="placement_link" maxlength="255"/>
</div>
<div id="edit-thumb-wrapper" class="form-item">
<input id="edit-placement-listing-id" type="hidden" value="4756" name="placement_listing_id"/>
<input id="submit" class="form-submit bluebutton" type="submit" value="Save" name="submit"/>
<input id="form-mCvTeIxSSPEq5qAcjv0ROjiJVvl2JV0fVIoWj9tQ0a8" type="hidden" value="form-mCvTeIxSSPEq5qAcjv0ROjiJVvl2JV0fVIoWj9tQ0a8" name="form_build_id"/>
<input id="edit-rmls-activity-report-placement-form-form-token" type="hidden" value="185635f8c3122f16a07b5b626e7fc473" name="form_token"/>
<input id="edit-rmls-activity-report-placement-form" type="hidden" value="rmls_activity_report_placement_form" name="form_id"/>
</div>
</form>
</div>
<div id="">
</div>
</form>
<div id="dialog-manage-listing"/>
</div>
<!-- content main -->
<!-- right side bar -->
<!-- end right side bar -->
</div>
<!-- style_content_main_wrapper -->
</div>
<!-- center -->
<div class="clear"/>
<div id="footer">
</div>
<!--end page -->
</div>
<!--end page_wrapper -->
<div id="dialog"/>
<script type="text/javascript"> <!--//--><![CDATA[//><!-- var _gaq = _gaq || [];_gaq.push(["_setAccount", "UA-37131766-1"]);_gaq.push(["_trackPageview"]);(function() {var ga = document.createElement("script");ga.type = "text/javascript";ga.async = true;ga.src = ("https:" == document.location.protocol ? "https://ssl" : "http://www") + ".google-analytics.com/ga.js";var s = document.getElementsByTagName("script")[0];s.parentNode.insertBefore(ga, s);})(); //--><!]]> </script>
<script type="text/javascript"> <!--//--><![CDATA[//><!-- jQuery.extend(Drupal.settings, { "CToolsAJAX": { "scripts": { "/sites/all/modules/jquery_update/replace/jquery.min.js": true, "/misc/drupal.js": true, "/sites/all/modules/blockui/jquery.blockUI.js": true, "/sites/all/modules/blockui/blockui.js": true, "/sites/all/modules/block_edit/block_edit.js": true, "/sites/all/modules/google_analytics/googleanalytics.js": true, "/sites/all/modules/nice_menus/superfish/js/superfish.js": true, "/sites/all/modules/nice_menus/superfish/js/jquery.bgiframe.min.js": true, "/sites/all/modules/nice_menus/superfish/js/jquery.hoverIntent.minified.js": true, "/sites/all/modules/nice_menus/nice_menus.js": true, "/sites/all/modules/jquery_ui/jquery.ui/ui/minified/ui.core.min.js": true, "/sites/all/modules/jquery_ui/jquery.ui/ui/minified/ui.dialog.min.js": true, "/sites/all/modules/jquery_ui/jquery.ui/ui/minified/ui.draggable.min.js": true, "/sites/all/modules/jquery_ui/jquery.ui/ui/minified/ui.droppable.min.js": true, "/sites/all/modules/jquery_ui/jquery.ui/ui/minified/ui.sortable.min.js": true, "/sites/all/modules/rmls/js/rmls.js": true, "/sites/all/modules/rmls/jquery.confirm/jquery.confirm.js": true, "/sites/all/modules/rmls/clippy/jquery.clippy.js": true, "/sites/all/modules/jquery_ui/jquery.ui/ui/minified/ui.datepicker.min.js": true, "/sites/all/modules/date/date_popup/lib/jquery.timeentry.pack.js": true, "/sites/all/modules/date/date_popup/date_popup.js": true, "/misc/tableheader.js": true, "/sites/all/modules/jquery_update/replace/jquery.form.js": true, "/sites/all/modules/ctools/js/ajax-responder.js": true, "/sites/all/modules/jquery_ui/jquery.ui/ui/minified/ui.resizable.min.js": true, "/sites/all/modules/dialog/dialog.js": true, "/sites/all/modules/rmls_order_verification/custom.js": true, "/sites/all/modules/rmls_order_verification/modal-window.min.js": true }, "css": { "/modules/node/node.css": true, "/modules/system/defaults.css": true, "/modules/system/system.css": true, "/modules/system/system-menus.css": true, "/modules/user/user.css": true, "/sites/all/modules/block_edit/block_edit.css": true, "/sites/all/modules/cck/theme/content-module.css": true, "/sites/all/modules/ckeditor/ckeditor.css": true, "/sites/all/modules/ctools/css/ctools.css": true, "/sites/all/modules/date/date.css": true, "/sites/all/modules/date/date_popup/themes/datepicker.css": true, "/sites/all/modules/date/date_popup/themes/jquery.timeentry.css": true, "/sites/all/modules/filefield/filefield.css": true, "/sites/all/modules/nice_menus/nice_menus.css": true, "/sites/all/modules/nice_menus/nice_menus_default.css": true, "/sites/all/modules/rmls/jquery.confirm/jquery.confirm.css": true, "/sites/all/modules/jquery_ui/jquery.ui/themes/default/ui.all.css": true, "/sites/all/modules/jquery_ui/jquery.ui/themes/default/ui.datepicker.css": true, "/sites/all/modules/ubercart/uc_attribute/uc_attribute.css": true, "/sites/all/modules/ubercart/uc_order/uc_order.css": true, "/sites/all/modules/ubercart/uc_product/uc_product.css": true, "/sites/all/modules/ubercart/uc_store/uc_store.css": true, "/sites/all/modules/cck/modules/fieldgroup/fieldgroup.css": true, "/sites/all/modules/views/css/views.css": true, "/sites/all/themes/rmls_webtheme/rmls.css": true, "/sites/all/themes/rmls_webtheme/style.css": true, "/sites/all/themes/rmls_webtheme/grid.css": true, "/sites/all/themes/rmls_webtheme/order_verification.css": true, "/sites/all/modules/rmls_order_verification/modal-window.css": true } } }); //--><!]]> </script>
</div>
<!--end container -->
</div>
<!--end wrapper -->
<script type="text/javascript">window.NREUM||(NREUM={});NREUM.info={"beacon":"bam.nr-data.net","licenseKey":"61afc6e03f","applicationID":"10285903","transactionName":"ZwQAMUZYW0QAAkZaDF5OIwZAUFpZThNfXxBvDAMLVV5QaAAGV10Xbw0LFkBQW1A+B11BDm8WEARESVBF","queueTime":0,"applicationTime":8493,"atts":"S0MDRw5CSEo=","errorBeacon":"bam.nr-data.net","agent":""}</script>
</div>
</body>
</html>
</document>

嘗試如下:

//i take string array for eight text field input value
String [] textToInput = {"first","second","Third","Fourth","Fifth","Sixth","Seventh","Eight"};

List<WebElement> elements =  driver.findElements(By.xpath(".//*[@id='placement_link']"));

System.out.println("size is "+elements.size());

for(int i = 0; i < elements.size(); i++){
        elements.get(i).sendKeys(textToInput[i]);
    }

您可以按相同方式單擊保存按鈕。

暫無
暫無

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

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