find_elements_by_partial_link_text 不会定位元素
find_elements_by_partial_link_text won't locate the elements
在我访问的网站中有以下结构的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
。我已经尝试使用超链接文本开头的一段,但它仍然不起作用。任何帮助将不胜感激。
查看 link 前提是 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
除了@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
.
在我访问的网站中有以下结构的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
。我已经尝试使用超链接文本开头的一段,但它仍然不起作用。任何帮助将不胜感激。
查看 link 前提是 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
除了@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
.