我正在尝试使用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.在新选项卡中打开第二个可用链接.....依此类推
答案 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