如何使用Selenium正确点击<a>标签中的href链接?
解决Selenium无法定位带子元素的标签问题
问题
尝试用Selenium点击网页中的标签超链接,现有方案均过时无效。已获取到highest_version_element,其内部包含一个class为c-archiveSearchListItem__link、href为https://game8.co/games/Genshin-Impact/archives/440922的标签,该标签下还有多个
子元素。使用By.PARTIAL_LINK_TEXT定位时,仅能匹配到
有效解决方案
1. 利用XPATH按href特征定位
通过href中的唯一标识片段,在当前元素范围内精准定位标签:
element = highest_version_element.find_element(By.XPATH, './/a[contains(@href, "440922")]') element.click()
说明:XPATH前的
.表示限定在highest_version_element内部查找,避免全局搜索匹配到无关元素。
2. 通过专属类名定位
直接使用标签的独有class属性定位:
element = highest_version_element.find_element(By.CLASS_NAME, "c-archiveSearchListItem__link") element.click()
内容的提问来源于stack exchange,提问作者Sniphs
相关产品推荐
相关产品推荐

