【发布时间】:2018-08-29 11:33:17
【问题描述】:
我正在运行一个代码,该代码浏览文件夹并最终到达目的地并通过单击下载文件。
例如,要查找我正在使用的文件夹:
find_element_by_link_text("Pricing and Catalogs")
问题是文件夹有时不是完全那样写的。例如,它有两个空格。
所以我的问题是:是否可以通过包含某些单词的文本找到元素?例如这样的事情(我知道这不正确,我只是想让你理解我):
find_element_by_link_text(containing "Pricing" and "Catalogs")
我搜索了答案,但找不到我要找的东西。 如果这是重复的,我道歉并要求指出正确的方向。
提前致谢!
编辑:使用 find_element_by_partial_link_text 不会这样做,因为其他文件夹的名称中包含 Pricing 或 Catalogs。
<td class="ms-tv-item ctl00_PlaceHolderLeftNavBar_ctl02_WebTreeView_2" style="white-space:nowrap;"><a class="ctl00_PlaceHolderLeftNavBar_ctl02_WebTreeView_0 ms-tv-item ctl00_PlaceHolderLeftNavBar_ctl02_WebTreeView_1" href="javascript:_spNavigateHierarchy(this,'','TAKES YOU TO SOME PAGE',false,'FolderNode', '')" title="Pricing and Catalogues" id="ctl00_PlaceHolderLeftNavBar_ctl02_WebTreeViewt223" style="border-style:none;font-size:1em;">Pricing and Catalogues</a></td>
【问题讨论】:
-
分享您的 HTML 链接。
-
我使用 Java。 Python有类似
find_element_by_partial_link_text()的东西吗? -
@SiKing 使用
find_element_by_partial_link_text不会这样做,因为其他文件夹的名称中包含 Pricing 或 Catalogs。 -
当您尝试
find_element_by_link_text("Pricing and Catalogs")时,您得到的错误是什么?我问的原因是文档说:“通过它们显示的确切文本定位元素”。由于多个空格在 HTML 中会自动折叠并显示为单个空格,因此应该可以。 -
我收到
NoSuchElementException错误。你是对的,它通常可以工作,但在某些情况下它不会。正如您在我提供的 HTML 中看到的那样,这种情况在单词之间有 2 个空格并导致了问题。这就是为什么我想要一个替代方案。
标签: python-3.x selenium selenium-chromedriver