如何撰寫用于在控制臺中顯示文本的 Xpath,使用
標簽分隔?
網址:
uj5u.com熱心網友回復:
您可以使用 xpath,例如:
//div[@class='display']/input[@value='football']
//div[@class='display']/input[@value='baseball']
//div[@class='display']/input[@value='basketball']
但是,對于這些 xpath 中的每一個,您都會獲得 2 個物件,如下所示(例如 Football):

因此,對于這種特殊情況,如果您需要Football在標題 HTML Checkbox Form 下選擇say checkbox,那么您有幾個選項,例如:
按索引:
//div[@class='display'][1]/input[@value='football']通過在 2 個相似物件之間找到一個靜態物件,即,如果在這種情況下,我想選中靜態標題HTML 預選復選框(參考圖片)之前
Football的復選框,我們可以撰寫如下內容://h2[contains(text(),'HTML Pre-Selected Checkboxes')]/preceding-sibling::div/input[@value='football']如果我們想選擇 2nd Football 復選框,我們知道它位于標題HTML Pre-Selected Checkboxes之后,因此可以很好地撰寫 xpath:
//h2[contains(text(),'HTML Pre-Selected Checkboxes')]/following-sibling::div/input[@value='football']
uj5u.com熱心網友回復:
文本Soccer: , Football: , Baseball: , Basketball:等在Text Node內。因此,要提取文本,您可以使用以下定位器策略:
xpath:// printing Soccer: System.out.println((String)((JavaScriptExecutor)driver).executeScript("return arguments[0].childNodes[2].textContent;", driver.findElement(By.xpath("//div[@class='display']")))); // printing Football: System.out.println((String)((JavaScriptExecutor)driver).executeScript("return arguments[0].childNodes[5].textContent;", driver.findElement(By.xpath("//div[@class='display']")))); // printing Baseball: System.out.println((String)((JavaScriptExecutor)driver).executeScript("return arguments[0].childNodes[8].textContent;", driver.findElement(By.xpath("//div[@class='display']")))); // printing Basketball: System.out.println((String)((JavaScriptExecutor)driver).executeScript("return arguments[0].childNodes[11].textContent;", driver.findElement(By.xpath("//div[@class='display']"))));
uj5u.com熱心網友回復:
您可以在Xpath下方嘗試并使用該元素從中提取文本。請澄清這是否不是您所要求的。
//div[@class='display'][1]
找到元素后,您可以使用.text或.get_attribute("innerText")方法在控制臺中顯示所需的文本。
driver.get("http://www.tizag.com/htmlT/htmlcheckboxes.php")
data = driver.find_element(By.XPATH,"//div[@class='display'][1]")
# Using `.text`
print(data.text)
# Using `.get_attribute("innerText")`
print(data.get_attribute("innerText"))
對于這兩種方法,輸出為:
Please select every sport that you play.
Soccer:
Football:
Baseball:
Basketball:
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/411735.html
標籤:
