当前位置: 首页 > 知识库问答 >
问题:

如何用硒提取元素(href)并保存到变量中

葛季萌
2023-03-14

我希望在Youtube搜索中提取第一个链接的url,而不必加载视频页面。

import urllib
from selenium import webdriver
song='burning bridges'
songsearch=urllib.parse.quote_plus(song)
driver = webdriver.Chrome()
driver.get('https://www.youtube.com/results?search_query=%s+lyrics' % songsearch)
urlinc = driver.find_element_by_partial_link_text(song)

print (urlinc)
print ('done')
driver.quit()

href="/watch? v=R8tVZ_QfYe4"class="yt-uix-sesionlink yt-uix-tile-link yt-用户界面-ellipsis yt-用户界面-ellipsis-2 spf-link"data-setsionlink="itct=CB0Q3DAYACITCLqBt--IyMkCFVPRvgoYRkCZij0JFIWYnVybmluZyBicmlkZ2VzIGx5cmljcw"title="OneRepublic-Burning Bridges(Lyrics)HDNATIVE"rel="spf-prefetch"aria-statbedby="Descrition-id-231739"dir="ltd r"

输出:

selenium.webdriver.remote.webelement.WebElement (session="9bf01a91206f82d9462b6803c5084aa5", element="0.22866418561898172-1")

done

共有1个答案

郭炳
2023-03-14

您可以尝试:

>>> urlinc.get_attribute('href')
'https://www.youtube.com/watch?v=omhYPjksUy8'
>>> 
 类似资料:
  • 我正在尝试为以下内容定位元素: 我尝试了XPath和CssSelector,但它无法定位元素。有人能帮我找到元素TIA吗

  • 比起Ruby、Capybara和SitePrism,我更熟悉Java和Selenium,所以如果这个问题太多,我深表歉意。 Selenium有一个非常有用的类来管理Select标签,Selenium::WebDriver::Support::Select,它可以通过传递代表select的Selenium Element(Selenium::WebDriver::Element)来创建。我想得到一个

  • 但是它抛出了-看起来像期望元素在那里,所以这是有缺陷的。这对硒来说一定是面包和黄油,不想推倒重来……有没有人可以提出一个替代方案,理想情况下不滚动我自己的?

  • 我正在尝试使用以下结构单击element: 但是,这将抛出。 我当前正在使用:刮取(父)元素列表。这标识了正确的元素列表(按预期工作)。有了列表后,我应用以下函数: 使用: 而且 但是,这将触发。 我对此进行了几个小时的研究,基于几个帖子,我添加了“。”在两个斜杠之前,这表示相对于父级(而不是相对于整个DOM)。 如果我移除这个点,我总是得到页面上的第一个元素--而不是列表中每个父元素的子元素。

  • 问题内容: 我试图让Selenium等待页面加载后动态添加到DOM的元素。试过这个: 如果有帮助,这里是: 但是它抛出一个-看起来像期望元素存在,所以这是有缺陷的。这一定是Selenium的面包和黄油,不想重新发明轮子……任何人都可以提出其他选择,理想情况下不用自己动手做? 问题答案: 需要等待时,您需要异常调用以忽略。 有关更多信息,请参见FluentWait文档。但是请注意,此条件已经在Exp

  • 我正在测试用户单击删除按钮和表条目消失的UI。因此,我希望能够检查表条目是否不再存在。 我已经尝试使用< code > expected conditions . not()来反转< code > expected conditions . presenceofelementlocated(),希望它意味着“期望不存在指定的元素”。我的代码是这样的: 但是,我发现即使这样做,我也会得到一个由引起的