【问题标题】:find_elements_by_partial_link_text won't locate the elementsfind_elements_by_partial_link_text 不会找到元素
【发布时间】:2016-10-05 08:37:27
【问题描述】:

在我访问的网站中有 7 个链接,结构如下:

<tr>
 <td>
  <a href="some link i will need to visit" title="some title"> some text... Episode ....
  </a>
 </td>
 <td> some date </td>
</tr>

现在我使用以下代码来获取剧集并将它们放在一个列表中

chromedriver = "C:/.../chromedriver.exe"

driver = webdriver.Chrome(chromedriver)

driver.get("link containing the content")

episodes = driver.find_elements_by_partial_link_text('Episode')

print "episodes found: ", len(episodes)

这总是打印episodes found: 0。我尝试使用超链接文本开头的一段,但它仍然不起作用。任何帮助将不胜感激。

The link is this

【问题讨论】:

  • 我们能看到实际的网站吗?

标签: python selenium selenium-chromedriver


【解决方案1】:

除了@nullpointer null 指出的内容之外,请注意网页加载的延迟 - 您要查找的元素不会立即可用,您需要wait for them to be present

from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By

driver = webdriver.Chrome()
driver.get("https://kissanime.to/Anime/Hunter-x-Hunter-2011-Dub")

WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.XPATH, "//a[contains(@title,'Episode')]")))

episodes = driver.find_elements_by_xpath("//a[contains(@title,'Episode')]")
print(len(episodes))

driver.close()

打印8

【讨论】:

    【解决方案2】:

    查看链接提供的 DOM 是

    <a href="/Anime/Hunter-x-Hunter-2011-Dub/Episode-007?id=126436" title="Watch anime Hunter x Hunter (2011) (Dub) Episode 007 online in high quality"> Hunter x Hunter (2011) (Dub) Episode 007</a>
    

    在这种情况下,您也可以使用以下内容:

    episodes = driver.find_elements_by_xpath("//a[contains(@title,'Episode')]")
    

    编辑:如果您想参考chromedriver 的正确用法。看看:

    Running webdriver chrome with Selenium

    【讨论】:

    • 这似乎也不起作用:/这可能是chromedriver的错吗?你能告诉我在哪里可以研究你在括号内使用的语法吗?
    • @Alan - w3.org/TR/xpath/#path-abbrev 了解有关 x 路径的详细信息。如果出现驱动程序问题,您当然应该遇到异常。
    猜你喜欢
    • 2021-03-20
    • 2017-01-06
    • 1970-01-01
    • 2014-01-27
    • 2018-03-08
    • 2017-08-30
    • 2021-04-24
    • 2017-12-21
    • 2019-01-02
    相关资源
    最近更新 更多