相关疑难解决方法(0)

如何使用Selenium x-path查找包含"download"一词的所有元素?

我正在使用Selenium做一些webscraping,我现在想找到用户可以点击的所有元素,其中包含链接文本,按钮文本,元素id,单词中的"download"(任何大小写)元素classhref.这可以包括链接,按钮或任何其他元素.

这个答案中,我找到了一个xpath,寻找一个xpath来搜索基于某个文本(或非区分大小写和部分匹配)的按钮:

text = 'download'
driver.find_elements_by_xpath("(//*[contains(text(), 'download')]")
Run Code Online (Sandbox Code Playgroud)

但在此页面上不返回任何结果,即使以下链接在那里:

<a id="downloadTop" class="navlink" href="javascript:__doPostBack('downloadTop','')">Download</a>
Run Code Online (Sandbox Code Playgroud)

有谁知道如何找到所有在网站中包含"下载"一词的元素?

[编辑]此问题被标记为一个问题的副本,该问题得到一个答案,建议将其更改为"//*[text()[contains(.,'download')]]".所以我尝试了以下方法:

>>> from selenium import webdriver
>>> d = webdriver.Firefox()
>>> link = 'https://www.yourticketprovider.nl/LiveContent/tickets.aspx?x=492449&y=8687&px=92AD8EAA22C9223FBCA3102EE0AE2899510C03E398A8A08A222AFDACEBFF8BA95D656F01FB04A1437669EC46E93AB5776A33951830BBA97DD94DB1729BF42D76&rand=a17cafc7-26fe-42d9-a61a-894b43a28046&utm_source=PurchaseSuccess&utm_medium=Email&utm_campaign=SystemMails'
>>> d.get(link)
>>> d.find_elements_by_xpath("//*[text()[contains(.,'download')]]")
[]  # As you can see it still doesn't get any results..
>>>
Run Code Online (Sandbox Code Playgroud)

有没有人知道如何在链接文本,按钮文本,元素id,元素classhref?中获取用户可以单击的所有元素以及哪些元素包含单词"download" ?欢迎所有提示!

html javascript python selenium xpath

6
推荐指数
1
解决办法
2422
查看次数

标签 统计

html ×1

javascript ×1

python ×1

selenium ×1

xpath ×1