开发python Scraper,使用Chrome

时间:2017-04-02 14:09:02

标签: python google-chrome selenium-chromedriver

我正在尝试使用python开发一个刮刀,它将在Chrome中的多个标签页的网页中打开链接。

我设法编写的代码是

import urllib2
from datetime import timedelta, date
import selenium.webdriver as webdriver
import selenium.webdriver.support.ui as ui
import time

from selenium.webdriver.common.keys import Keys

driver = webdriver.Chrome()

i = driver.get("https://investmentinsightindia.wordpress.com/")

driver.find_element_by_partial_link_text(',').click()
driver.get("chrome://newtab/")

我已经发现该网站上的大多数个人帖子都有'' (在日期)所以我试图点击其中包含文本的链接。

我确实认识到它可以在多个站点上运行,我最终需要使用更通用的链接,比如来自Xpath的href引用,我不知道该怎么做。

我该如何配置 - 1.打开主页(网址) 2.在新选项卡中打开第一个可用链接 3.打开标签 4.在新选项卡中打开第二个可用链接.....依此类推

2 个答案:

答案 0 :(得分:0)

您可以通过查找<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="wrap_content" android:layout_height="wrap_content" android:clickable="true" android:background="@drawable/btn_actionbar_icon"> <TextView android:id="@+id/icon_title" android:layout_width="wrap_content" android:layout_height="wrap_content" android:drawableLeft="@drawable/ic_cart" android:drawablePadding="5dp" android:gravity="center_vertical" android:padding="10dp" android:text="(0)" android:textColor="@android:color/white" android:textSize="14sp" /> </RelativeLayout> 元素然后循环遍历它们并逐个单击来查找链接元素。

你可以实现这样的目标:

'a'

这将逐个打开新标签中的所有网址。

答案 1 :(得分:0)

如果您要求在日期中打开包含format x $10.的特定帖子链接,例如,然后使用以下xpath获取列表中的所有相同类型的元素:

Posted on May 17, 2013

OR

可以使用xpath以下来获取所有帖子链接

//a/span[contains(text(),',')]

并遍历for循环。下面是示例Java示例,请按照python语法实现

//h2/a