如何在 Python 的 Selenium 中使用 find_elements 的多个属性(包括部分字符串匹配)
How to use mutiple attributes (including a partial string match) with find_elements in Selenium for Python
目前我有这行代码可以在我尝试使用 Selenium 操作的网页上正确选择此类对象:
pointsObj = driver.find_elements(By.CLASS_NAME,'treeImg')
我需要做的是添加一个部分字符串匹配条件,它在下面一行的“CLGV (AHU-01_ahu_ChilledWtrVlvOutVolts)”部分中查找。
<span class="treeImg v65point" style="cursor:pointer;">CLGV (AHU-01_ahu_ChilledWtrVlvOutVolts)</span>
我在网上找到了 ChainedBy 选项,但我想不出如何在跨度中引用该文本。我需要使用 XPath 吗?我试了一下,但我想不出如何解析它。
同时引用 CLASS_NAME
和 innerText
您可以使用以下任一方法 :
xpath 使用类名 treeImg
和部分 innerText:
pointsObj = driver.find_elements(By.XPATH,"//span[contains(@class, 'treeImg') and contains(., 'AHU-01_ahu_ChilledWtrVlvOutVolts')]")
xpath 使用所有类名和整个 innerText:
pointsObj = driver.find_elements(By.XPATH,"//span[@class='treeImg v65point' and text()='CLGV (AHU-01_ahu_ChilledWtrVlvOutVolts)']")
目前我有这行代码可以在我尝试使用 Selenium 操作的网页上正确选择此类对象:
pointsObj = driver.find_elements(By.CLASS_NAME,'treeImg')
我需要做的是添加一个部分字符串匹配条件,它在下面一行的“CLGV (AHU-01_ahu_ChilledWtrVlvOutVolts)”部分中查找。
<span class="treeImg v65point" style="cursor:pointer;">CLGV (AHU-01_ahu_ChilledWtrVlvOutVolts)</span>
我在网上找到了 ChainedBy 选项,但我想不出如何在跨度中引用该文本。我需要使用 XPath 吗?我试了一下,但我想不出如何解析它。
同时引用 CLASS_NAME
和 innerText
您可以使用以下任一方法
xpath 使用类名
treeImg
和部分 innerText:pointsObj = driver.find_elements(By.XPATH,"//span[contains(@class, 'treeImg') and contains(., 'AHU-01_ahu_ChilledWtrVlvOutVolts')]")
xpath 使用所有类名和整个 innerText:
pointsObj = driver.find_elements(By.XPATH,"//span[@class='treeImg v65point' and text()='CLGV (AHU-01_ahu_ChilledWtrVlvOutVolts)']")