如何按文字点击?

How do I click by text?

该网站有 3 个下载按钮:1080p、手机、720p。问题是,这些按钮改变了它们的顺序。 (例如,它可能是 720p,移动设备,1080p)。

因此,我需要点击按钮上的文本而不是按钮出现的顺序。我尝试使用 css 和 xpath,但它只是点击出现的第一个下载按钮。我尝试了什么:

尝试 1:

driver.find_element_by_xpath('//*[@id="download_select"]/div[1]/a/font').click()
#just clicks the first button.

尝试 2:

driver.find_element_by_xpath("//font[@style=in MP4 - HD 720p (1422.10 MB))]")
#error

尝试 3:

driver.find_element_by_partial_link_text('720p').click()
#error

HTML:

<font style="margin-top:-10px; margin-bottom:2px; display:block;">in MP4 - HD 720p (1422.10 MB)</font>

[HTML]

的截图

尝试

"//font[contains(text(),'1080p (2094.14 MB)')]"

您可以根据自己的意愿更改文本 UI。

注意:如果文本在 UI 中动态变化,您也需要动态处理 xpath。