好的,我正试图从Craigslist中提取链接。具体来说,我正在尝试查找class = result-title的链接,例如
<a href="/gbs/fee/6023288599.html" data-id="6023288599" class="result-title hdrlnk">NICE 2 BR NEAR BOSTON COLLEGE- HT/HW INCLUDED - ON COMM AVE 9/1</a>
但由于某种原因,以下代码
address = driver.find_elements_by_class_name('result-title')[i].text
print(address)
address2 = driver.find_element_by_partial_link_text(address).get_attribute('href')
print(address2)
driver.get(address2)
不起作用。尝试查找示例链接会导致以下错误:
selenium.common.exceptions.NoSuchElementException:消息:无法找到元素:NICE 2 BR BOSTON COLLEGE附近 - HT / HW包含 - 在COMM AVE 9/1
有谁知道我做错了什么?
编辑:当我第一次调用get_attribute时,我意识到这是一种愚蠢而迂回的方式,但我仍然很好奇为什么它不起作用。答案 0 :(得分:0)
可能是网站需要一些时间来加载您正在寻找的元素,并且在加载之前您正在搜索它。看看timeout documentation。您可以指定隐式或显式超时,如下所示:
var select = document.getElementById('#type');
option = //Get your data you want to add and put it between two <option> tags
select.appendChild(option);