从锚点XPath(selenium python)获取href

时间:2018-01-26 12:35:22

标签: python selenium xpath amazon

如何让XPath在此页https://www.amazon.com/s/ref=lp_11444071011_nr_p_8_1/132-3636705-4291947?rh=n%3A3375251%2Cn%3A%213375301%2Cn%3A10971181011%2Cn%3A11444071011%2Cp_8%3A2229059011上获取产品的所有href锚点。我想获得与以下链接相同的链接的href。如何检索包含https://www.amazon.com/的链接的href,以便产品与Xpath和selenium链接。我将不胜感激。



<a class="a-link-normal s-access-detail-page  s-color-twister-title-link a-text-normal" title="Under Armour Men's Tech Short Sleeve T-Shirt" href="https://www.amazon.com/Shortsleeve-T-Shirt-Under-Armour-Midnight/dp/B00783KT9Y/ref=sr_1_4?s=sports-and-fitness-clothing&amp;ie=UTF8&amp;qid=1516968485&amp;sr=1-4&amp;refinements=p_8%3A2229059011"><h2 data-attribute="Under Armour Men's Tech Short Sleeve T-Shirt" data-max-rows="0" class="a-size-base s-inline  s-access-title  a-text-normal">Under Armour Men's Tech Short Sleeve T-Shirt</h2></a>
&#13;
&#13;
&#13;

2 个答案:

答案 0 :(得分:4)

找到所有href以url开头的标签并获取该href

if (c instanceof C1) {
    c.f(params);
} else {
    c.f(params);
}

答案 1 :(得分:1)

这应该有效

# selenium imports
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

LINKS_XPATH = '//*[contains(@id,"result")]/div/div[3]/div[1]/a'
browser = webdriver.Firefox()
browser.get('https://www.amazon.com/s/ref=lp_11444071011_nr_p_8_1/132-3636705-4291947?rh=n%3A3375251%2Cn%3A%213375301%2Cn%3A10971181011%2Cn%3A11444071011%2Cp_8%3A2229059011')
links = browser.find_elements_by_xpath(LINKS_XPATH)
for link in links:
    href = link.get_attribute('href')
    print href