根据该单元格中的其他文本选择一个单元格中的链接文本

时间:2019-07-15 14:43:36

标签: python html selenium

Trying to select link text within a table cell if the desired text is also within the cell

因此,在该线索中的答案使我知道了我现在对我的问题的看法。这是我到目前为止的内容:


def click_me(myString):
    WebDriverWait(driver, 5).until(EC.element_to_be_clickable((By.XPATH, "//td/span[.='" + myString + "']//following::span[2]"))).click()

click_me("My Desired Text")

这确实有效,但是My Desired Text的末尾通常会有一个数字,例如My Desired Text 1.00,每次我导航到另一个页面时都会更改。

如何仅使用My Desired之类的部分文字来完成这项工作?

这是HTML:


<td>
                            <span>My Desired Text</span>
                            <span class="HSpacer10"></span>
                            <span class="commonLink" onclick="handleMyEvents(EVENT_EDIT_PKG, 60000,1);">[Details]</span>


                        </td>

2 个答案:

答案 0 :(得分:1)

您可以获得以所需文本开头的元素。

Xpath提供了可以在查询中使用的功能。 启动方式功能似乎正是您所需要的。

def click_me(myString):
    WebDriverWait(driver, 5).until(EC.element_to_be_clickable((By.XPATH, "//td/span[starts-with(text(), '" + myString + "')]//following::span[2]"))).click()

click_me("My Desired Text")

答案 1 :(得分:0)

有XPath contains()函数,当您需要根据部分文本匹配元素时,该功能非常有用:

//td/span[contains(text(), '" + myString + "')]/following::span[2]

更多信息:XPath Operators & Functions