我想获取标记链接的网址。我已经附加了元素的类,在python中输入selenium.webdriver.remote.webelement.WebElement:
elem = driver.find_elements_by_class_name("_5cq3")
和html是:
<div class="_5cq3" data-ft="{"tn":"E"}">
<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&src=https%3A%2F%2Fscontent.xx.fbcdn.net%2Fhphotos-xfp1%2Ft31.0-8%2F11894571_10153954245456840_9038620401603938613_o.jpg&smallsrc=https%3A%2F%2Fscontent.xx.fbcdn.net%2Fhphotos-prn2%2Fv%2Ft1.0-9%2F11903991_10153954245456840_9038620401603938613_n.jpg%3Foh%3D0c837ce6b0498cd833f83cfbaeb577e7%26oe%3D567D8819&size=651%2C1000&fbid=10153954245456840&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&oe=5667BDBA&__gda__=1448928574_a7c6da855842af4c152c2fdf8096e1ef" alt="9GAG's photo." width="256" height="395">
</div>
</a>
</div>
我希望a标签的href值落在类_5cq3
内。
答案 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")