我试图刮Kickstarter的基础上单独的项目名称。使用项目名称和基本URL,我可以进入搜索页面。为了抓取项目页面,我需要使用Selenium来单击URL。但是,我无法指向要单击的正确元素。我也希望这是动态的,所以我不需要把项目名称每次。你知道吗
<div class="type-18 clamp-5 navy-500 mb3">
<a href="https://www.kickstarter.com/projects/1980119549/knife-block-
designed-by-if-and-red-dot-winner-jle?
ref=discovery&term=Knife%20block%20-
%20Designed%20by%20IF%20and%20Red%20dot%20winner%20JLE%20Design"
class="soft-black hover-text-underline">Knife block -
Designed by IF and
Red dot winner JLE Design
</a>
</div>`
driver = webdriver.Chrome(chrome_path)
url = 'https://www.kickstarter.com/discover/advanced?ref=nav_search&term=Knife
block - Designed by IF and Red dot winner JLE Design'
driver.get(url)
elem = driver.find_elements_by_link_text('Knife block - Designed by IF and Red
dot winner JLE Design')
elem.click()
如何让元素指向正确的链接?你知道吗
关于您的尝试,您的代码有一个输入错误:使用
find_elements....
返回元素列表,因此方法.click()
无法工作。你的意思是使用find_element
。你知道吗要动态单击链接,请改用XPath。产生的代码是:
这将是第一场比赛。您可以执行
find_elements
并对元素进行迭代,但这将是一种不好的方法,因为每次单击链接都会使上一页过时。如果有多个,则可以使用相同的XPath,但要编制索引:相关问题 更多 >
编程相关推荐