Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/32.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用python和selenium IDE获取网页上的所有链接_Python_Css_Selenium - Fatal编程技术网

如何使用python和selenium IDE获取网页上的所有链接

如何使用python和selenium IDE获取网页上的所有链接,python,css,selenium,Python,Css,Selenium,我想使用SeleniumIDE和python从网页获取所有链接 例如,如果我在谷歌网站上搜索测试或任何东西,我想要所有与之相关的链接 这是我的代码 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)

我想使用SeleniumIDE和python从网页获取所有链接

例如,如果我在谷歌网站上搜索测试或任何东西,我想要所有与之相关的链接

这是我的代码

 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”)

输出 [a jtypes2.asp]

如何从对象获取链接内容

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')

试试上面的代码。您的代码在给出搜索关键字后不会发送返回键。此外,我还更改了隐式等待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_by_xpath返回self.find_元素(by=by.xpath,value=xpath)文件中“/usr/local/lib/python2.7/dist-packages/selenium/webdriver/remoteThanks它可以工作,但我还需要那些在2,3,4上可用的链接。。。。。。主页末尾的页面,我们在google.xpath上搜索test,查找click next(按钮)page$x('./*[@id=\'pnnext\']]/span[2]')。“下一步”按钮应单击多少次