获取selenium web元素标签的href值

时间:2015-09-03 07:11:11

标签: python selenium xpath selenium-webdriver

我想获取标记链接的网址。我已经附加了元素的类,在python中输入selenium.webdriver.remote.webelement.WebElement:

elem = driver.find_elements_by_class_name("_5cq3")

和html是:

<div class="_5cq3" data-ft="{&quot;tn&quot;:&quot;E&quot;}">
    <a class="_4-eo" href="/9gag/photos/a.109041001839.105995.21785951839/10153954245456840/?type=1" rel="theater" ajaxify="/9gag/photos/a.109041001839.105995.21785951839/10153954245456840/?type=1&amp;src=https%3A%2F%2Fscontent.xx.fbcdn.net%2Fhphotos-xfp1%2Ft31.0-8%2F11894571_10153954245456840_9038620401603938613_o.jpg&amp;smallsrc=https%3A%2F%2Fscontent.xx.fbcdn.net%2Fhphotos-prn2%2Fv%2Ft1.0-9%2F11903991_10153954245456840_9038620401603938613_n.jpg%3Foh%3D0c837ce6b0498cd833f83cfbaeb577e7%26oe%3D567D8819&amp;size=651%2C1000&amp;fbid=10153954245456840&amp;player_origin=profile" style="width:256px;">
        <div class="uiScaledImageContainer _4-ep" style="width:256px;height:394px;" id="u_jsonp_2_r">
            <img class="scaledImageFitWidth img" src="https://fbcdn-photos-h-a.akamaihd.net/hphotos-ak-prn2/v/t1.0-0/s526x395/11903991_10153954245456840_9038620401603938613_n.jpg?oh=15f59e964665efe28943d12bd00cefd9&amp;oe=5667BDBA&amp;__gda__=1448928574_a7c6da855842af4c152c2fdf8096e1ef" alt="9GAG's photo." width="256" height="395">
        </div>
    </a>
</div>

我希望a标签的href值落在类_5cq3内。

3 个答案:

答案 0 :(得分:6)

为什么不直接这样做?

url = driver.find_element_by_class_name("_4-eo").get_attribute("href")

如果你首先需要div元素,你可以这样做:

divElement = driver.find_elements_by_class_name("_5cq3")
url = divElement.find_element_by_class_name("_4-eo").get_attribute("href")

或通过xpath的另一种方式(假设你的5cq3元素中只有一个链接元素:

url = driver.find_element_by_xpath("//div[@class='_5cq3']/a").get_attribute("href")

答案 1 :(得分:1)

您可以将xpath用于相同的

如果你想拍摄&#34; a&#34;标签,第二行根据您的HTML代码然后使用

url = driver.find_element_by_xpath("//div[@class='_5cq3']/a[@class='_4-eo']").get_attribute("href")

如果你想拍摄&#34; img&#34;标签,第4行根据您的HTML代码然后使用

url = driver.find_element_by_xpath("//div[@class='_5cq3']/a/div/img[@class='scaledImageFitWidth img']").get_attribute("href")

答案 2 :(得分:1)

使用:

1) href首先指定x = '//a[@class="_4-eo"]' k = driver.find_elements_by_xpath(x).get_attribute("href") for url in k: print url 的路径。

parentElement = driver.find_elements_by_class("_4-eo")
elementList = parentElement.find_elements_by_tag_name("href")

2)使用@ drkthng的解决方案(最简单的)。

3)您可以使用:

src

你可以在Selenium中使用你想要的任何东西。还有2-3种方法可以找到相同的。

图片xpath使用以下img_path = '//div[@class="uiScaledImageContainer _4-ep"]//img[@src]'

$("input[type=checkbox]:checked")