Python Selenium文本属性仅返回部分文本

Python Selenium文本属性仅返回部分文本,python,selenium,selenium-webdriver,xpath,webdriverwait,Python,Selenium,Selenium Webdriver,Xpath,Webdriverwait,有人知道我为什么会这样吗: Z-In…而不是Z-Index 1 这是我的密码: vid = WebDriverWait(browser, 10).until(EC.element_to_be_clickable((By.XPATH,"//div[contains(@title,'Mytitle')]/div[1]/div[3]/span"))).text print(vid) 以下是HTML: 您需要注意以下几件事: 如果您的用例是提取任何属性的值,理想情况下,您需要使用元素的可见性()

有人知道我为什么会这样吗:

Z-In…
而不是
Z-Index 1

这是我的密码:

vid = WebDriverWait(browser, 10).until(EC.element_to_be_clickable((By.XPATH,"//div[contains(@title,'Mytitle')]/div[1]/div[3]/span"))).text

print(vid)
以下是HTML:


您需要注意以下几件事:

  • 如果您的用例是提取任何属性的值,理想情况下,您需要使用元素的可见性()
  • 作为文本属性的替代方法,您可以使用
    get\u attribute()
    方法

解决方案 作为替代方案,您可以使用以下各项:

注意:您必须添加以下导入:

from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC

更新 作为替代方案,您也可以尝试将
预期的\u条件设置为ato
文本\u在\u元素中存在()
,如下所示:

print(WebDriverWait(browser, 10).until(EC.text_to_be_present_in_element((By.XPATH,"//div[contains(@title,'Mytitle')]/div[1]/div[3]/span[starts-with(@id, 'infoZIndex')]"), "Index")).get_attribute("innerHTML"))

发布html。我只是想知道您使用
Z-Index
属性的目的是什么。我在可以重叠预览的网页上使用它,Z-Index用于管理优先级,因此我需要它们测试优先级是否没有问题。您确定这不对吗?文本在展开之前是否会折叠?您的示例html代码显示了Z-Index 4,这是您的问题的正确片段吗?是否对元素进行了任何样式设置?即使元素位于
获取属性(“innerHTML”)
的可见性仍然相同:Z-In…@Serinkan签出更新的答案并让我知道状态。仍然相同。。。我不明白他为什么停在那里不走further@Serinkan签出更新的答案,并让我知道我发现为什么它不起作用的状态。Z索引并没有完全显示在屏幕上,但我不明白,因为我是从与显示的信息无关的范围中获取的。谢谢你的帮助。
print(WebDriverWait(browser, 10).until(EC.text_to_be_present_in_element((By.XPATH,"//div[contains(@title,'Mytitle')]/div[1]/div[3]/span[starts-with(@id, 'infoZIndex')]"), "Index")).get_attribute("innerHTML"))