试图选择一个表格单元格内链接文本,如果所需的文本也是在细胞内(Trying to select li

2019-09-26 00:05发布

所以我有一个包含文本和链接的表格单元格。 现在,在这个表中的每一行都有相同的文字链接的超链接标题为“[详细]”,但根据您所在的排在哪里,它把你的位置变化。

例如细胞将是这样的:“文本我想要的” [详细]

我希望能够去根据什么文字也该小区内的正确的链接,但我有一些问题搞清楚如何编写一个Python编写的。 一旦在这个表中的一行被点击它移动它的位置在表格中使用XPath超出。

以下是我已经试过:


MyText = driver.find_element_by_xpath("//span[text()='My Desired Text']")
MyText.find_element_by_partial_link_text("Details").click()



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")

但我想我会需要使用if语句实际上得到想要的结果。 任何建议,将不胜感激。


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


                        </td>

Answer 1:

由于表是由多个文字与文字与细节相关的链接,你可以写成如下的方法:

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

现在,你可以调用此方法与任何所需的文本点击相关链接:

click_me("My Desired Text")
# or
click_me("My Text")
# or
click_me("Text")


文章来源: Trying to select link text within a table cell if the desired text is also within the cell