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>
答案 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]