【问题标题】:how to find href and click the link using selenium如何使用 selenium 查找 href 并单击链接
【发布时间】:2015-11-24 01:51:55
【问题描述】:

我是 selenium 新手,很难找到元素。

我想从谷歌新闻中抓取。我可以输入文本并搜索结果。假设我搜索微软的新闻,它会返回一个新闻列表。

我的最终目标是逐个点击链接,提取每个链接的新闻内容。但我现在不知道如何点击链接。

当我右键单击“检查元素”时,链接部分的形式是

我试过了

browser.find_element_by_class_name('l _HId')
browser.find_element_by_partial_link('/url?sa=t&rct=j&q=&esrc=s&source=newssearch&amp')
browser.find_element_by_xpath('//*[@id="rso"]/div[2]/div/div[1]/h3/a')

但他们都没有工作。全部返回错误:无法定位元素。谁能告诉我为什么以及如何定位元素?

我与 firefox 交互并在 windows 7 上使用 python 3.4。另一个问题是即使我安装了 firebug 和 firepath,firefox 中也没有“复制 xpath”。上面的 xpath 实际上是从 Chrome 复制过来的。

【问题讨论】:

标签: selenium selenium-webdriver web-scraping


【解决方案1】:

我想你用的是java,但我可以用c#给你这个想法(语法有点不同,但想法是一样的)

IList<IWebDriver> elements =  driver.FindElements(By.TagName("a")); //Will give you all the links on page.
string link1Text = elements[0].Text //Will give you the text.   
string link1 = elements[0].GetAttribute("href"); // will give you the link url.

等等……

【讨论】:

    猜你喜欢
    • 2015-08-18
    • 2012-05-06
    • 2021-12-03
    • 2021-12-20
    • 2018-02-08
    • 2017-12-15
    • 2017-03-17
    • 2015-12-05
    • 2016-11-06
    相关资源
    最近更新 更多