我有以下HTML,我想点击带有文字a
的{{1}}标记MOUNT TAMALPAIS SP, CA
实际上是一种javascript方法。以下是详细信息:
代码
href
HTML
keyword = 'MOUNT TAMALPAIS SP'
link_text = wait.until(EC.visibility_of_element_located((By.PARTIAL_LINK_TEXT, keyword)))
更新
这里给出了函数的链接:http://pastebin.com/tfny2xdJ
答案 0 :(得分:2)
如果您无法使用click()
方法点击链接,请尝试使用以下代码:
keyword = 'MOUNT TAMALPAIS SP'
link_text = wait.until(EC.element_to_be_clickable((By.PARTIAL_LINK_TEXT, keyword)))
driver.execute_script('arguments[0].click()', link_text)
答案 1 :(得分:1)
文本实际上是在您尝试点击的<a>
标记的4个不同子元素之间划分的。您可以使用xpath
将其基于子元素中的所有文本
keyword = 'MOUNT TAMALPAIS SP, CA'
keywords = keyword.split(' ')
link_text = wait.until(EC.visibility_of_element_located((By.XPATH, '//a[strong[contains(text(), "' + keywords[0] + '")] and strong[contains(text(), "' + keywords[1] + '")] and strong[contains(text(), "' + keywords[2] + '")] and span[contains(text(), "' + keywords[3] + '")]]')))