Java 查找xpath标签@for标记';孩子 > >总计: > $10,280.55 >
这是html,我正试图获得$amount。 我已经尝试了Java 查找xpath标签@for标记';孩子 > >总计: > $10,280.55 >,java,selenium,xpath,Java,Selenium,Xpath,这是html,我正试图获得$amount。 我已经尝试了//label[@for=“grandTotal”]/child::node() 这只会突出显示整个文本。由于$amount没有属性,因此我无法找到它 PS:我可以通过以下内容访问节点:***[@id=“planForm”]/div[3]/h3/div/text()***,但这不起作用,因为Selenium只对元素节点起作用。文本$10280.55在文本节点内。因此,要打印文本,您必须对元素的可见性进行归纳(),您可以使用以下任一选项:
//label[@for=“grandTotal”]/child::node()
这只会突出显示整个文本。由于$amount没有属性,因此我无法找到它
PS:我可以通过以下内容访问节点:***[@id=“planForm”]/div[3]/h3/div/text()***
,但这不起作用,因为Selenium只对元素节点起作用。文本$10280.55在文本节点内。因此,要打印文本,您必须对元素的可见性进行归纳(),您可以使用以下任一选项:
- 使用
和子节点:XPATH
- 使用
和XPATH
:splitlines()
- 注意:您必须添加以下导入:
print(WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.XPATH, "//div[contains(@class, 'alpha participant-info-fields')][./label[@for='grandTotal']]"))).get_attribute("innerHTML").splitlines()[4])
print(driver.execute_script('return arguments[0].lastChild.textContent;', WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.XPATH, "//div[contains(@class, 'alpha participant-info-fields')][./label[@for='grandTotal']]")))).strip())
print(WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.XPATH, "//div[contains(@class, 'alpha participant-info-fields')][./label[@for='grandTotal']]"))).get_attribute("innerHTML").splitlines()[4])
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC