【发布时间】:2019-07-12 18:59:37
【问题描述】:
所以我有一个包含文本和链接的表格单元格。现在,此表中的每一行都有相同的文本链接超链接标题“[详细信息]”,但位置会根据您所在的行而改变。
例如,单元格将如下所示:“我想要的文本”[详细信息]
我希望能够根据该单元格中的文本转到正确的链接,但是在弄清楚如何在 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>
【问题讨论】:
-
你能把td的html与文本和链接分享一下吗? link是span的子节点还是兄弟节点?
-
将html添加到我上面的问题中。
-
试试这个 xpath
//span[normalize-space(.)='My Desired Text']/following-sibling::span[.='[Details]']。 -
@supputuri 找不到使用该方法的元素。
标签: python selenium xpath webdriverwait xpath-1.0