【问题标题】:How to get all links on a web page using python and selenium IDE如何使用 python 和 selenium IDE 获取网页上的所有链接
【发布时间】:2015-03-02 10:24:26
【问题描述】:

我想使用 selenium ide 和 python 从网页中获取所有链接。

例如,如果我在 google 网站上搜索 test 或任何内容,并且我想要与此相关的所有链接。

这是我的代码

 from selenium import webdriver
from selenium.webdriver.common.keys import Keys
baseurl="https://www.google.co.in/?gws_rd=ssl"
driver = webdriver.Firefox()
driver.get(baseurl)
driver.find_element_by_id("lst-ib").click()
driver.find_element_by_id("lst-ib").clear()
driver.find_element_by_id("lst-ib").send_keys("test") 
link_name=driver.find_element_by_xpath(".//*[@id='rso']/div[2]/li[2]/div/h3/a")
print link_name
driver.close()

输出

 <selenium.webdriver.remote.webelement.WebElement object at 0x7f0ba50c2090>

在 Firebug 的控制台中使用 xpath $x(".//*[@id='rso']/div[2]/li[2]/div/h3/a")

输出 [一个jtypes2.asp]

如何从对象中获取链接内容。

【问题讨论】:

    标签: python css selenium


    【解决方案1】:
    from selenium import webdriver
    from selenium.webdriver.common.keys import Keys
    baseurl="https://www.google.co.in/?gws_rd=ssl"
    driver = webdriver.Firefox()
    driver.get(baseurl)
    driver.find_element_by_id("lst-ib").click()
    driver.find_element_by_id("lst-ib").clear()
    driver.find_element_by_id("lst-ib").send_keys("test")
    driver.find_element_by_id("lst-ib").send_keys(Keys.RETURN)
    driver.implicitly_wait(2)
    link_name=driver.find_elements_by_xpath(".//*[@id='rso']/div/li/div/h3/a")
    for link in link_name:
        print link.get_attribute('href')
    

    试试上面的代码。给出搜索关键字后,您的代码不会发送 RETURN 键。此外,我进行了更改以隐式等待 2 秒以加载搜索结果,并且我更改了 xpath 以获取所有链接。

    【讨论】:

    • 我已经尝试过了,但它给出了错误。我想清楚我需要 xpath 中存在的 url。错误回溯(最近一次调用):文件“selenium_python.py”,第 14 行,在 a=driver.find_element_by_xpath("//*[@id='rso']/div[2]/li[1 ]/div/h3/a") 文件“/usr/local/lib/python2.7/dist-packages/selenium/webdriver/remote/webdriver.py”,第 232 行,在 find_element_by_xpath 中返回 self.find_element(by=By .XPATH, value=xpath) 文件“/usr/local/lib/python2.7/dist-packages/selenium/webdriver/remote
    • 谢谢它有效,但我还需要那些在我们在谷歌上搜索测试的主页末尾的 2,3,4...... 页面上可用的链接。
    • 点击下一个(按钮)页面的 xpath $x('.//*[@id=\'pnnext\']/span[2]')。下一个按钮应该被点击多少次
    猜你喜欢
    • 2018-03-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-19
    • 1970-01-01
    • 2021-03-13
    相关资源
    最近更新 更多