我正在自動化一個網站,我正試圖找到一種方法來減少在我的代碼中使用xpaths。 我的代碼看起來是這樣的如何消除Webdriver代碼中的xpaths?
driver.findElement(By.xpath("//html/body/center/div/div/center/table/tbody/tr/td/form/table/tbody/tr[3]/td/input")).click();
driver.findElement(By.xpath("//html/body/div/table/tbody/tr/td/table/tbody/tr/td/table/tbody/tr/td")).getText();
driver.findElement(By.xpath("//html/body/div/table/tbody/tr/td/div[2]/div/div/div[4]/div/div/div")).click();
driver.findElement(By.xpath("//html/body/div[3]/div/div/div/div[2]/div/span/ul[2]/li[6]/a")).click();
/*driver.findElement(By.xpath("//html/body/div/div/div/div[3]/div/div[2]/div[2]/table/tbody/tr/td[3]/table/tbody/tr/td[2]/em/button")).click();
WebElement editUserForm = driver.findElement(By.cssSelector("iframe[src*='editUserForm']"));
有沒有什麼辦法可以減少這些XPath使我的代碼看起來不寒酸? 這裏的成員之一建議我「請不要使用絕對xpath」。這是什麼意思 ? 請幫忙。另外讓我知道是否有任何鏈接可以幫助我。
是否有可能創建一個文件,將一個字符串到xpath指針,然後我們可以在代碼中使用該字符串?
當然,您的某些元素有一個id屬性。例如,如果其中一個表的ID爲「invoices」,則可以使用//表[@ id ='invoices']'切斷表軸步驟之前的所有內容。閱讀一些XPath教程,您仍然缺乏XPath的基礎知識,並可以在一小時內更改它。如果你想使用Selenium,選擇一些教程時堅持使用XPath 1.0,不支持新版本。 –