Selenium封装函数,提取新闻链接!!!

这是正确的封装函数

from selenium import webdriver
from time import sleep
import requests

driver=webdriver.Chrome()
driver.get("http://baidu.com")




class Common(object):
    def __init__(self):
        self.driver = webdriver.Chrome()
    def open(self,url,name):
        self.driver.get(url)
        driver.find_element_by_id("kw").send_keys(name)
        driver.find_element_by_id("su").click()
    def get_link(self):
        for link in driver.find_elements_by_xpath('//*[@class="f13"]/a'):
            a = link.get_attribute('href')
            print(a)

if __name__ == '__main__':
    com = Common()
    com.open("http://www.baidu.com","新闻")
    com.get_link()
    com.driver.close()
    sleep(2)

这个是之前错误的封装函数,只能通过Chrome搜索百度,然后自动在搜索框打出关键字新闻,但不能成功弹出搜索结果,大家可以对比看一下。

from lib2to3.pgen2 import driver

from selenium import webdriver
from time import sleep
import requests
class Common(object):
    def __init__(self):
        self.driver = webdriver.Chrome()
    def open_url(self,url):
        self.driver.get(url)
    def locateElement(self,locate_type,value):
        el=None
        if locate_type == 'id':
            el = self.driver.find_element_by_id('kw')
        elif locate_type == 'xpath':
            el = self.driver.find_elements_by_xpath('//*[@class="f13"]/a')
        if el is not None:
            return el

    def click(self,locate_type,value):
        el=self.locateElement(locate_type,value)
        el.click()
    def input_data(self,locate_type,value,data):
        el=self.locateElement(locate_type,value)
        el.send_keys(data)
    def print_text(self,locate_type,value,text):
        el=self.locateElement(locate_type.value)
        el.print(text)

if __name__ == '__main__':
    com = Common()
    com.open_url("http://www.baidu.com")
    com.locateElement('id','kw')
    com.click('id','su')
    com.input_data('id','kw','新闻')
    com.print_text('xpath','//*[@class="f13"]/a/text()','')

    sleep(2)

1、第17/18行的代码无意义。else无用
2、36行,print_text。但从xpath上看,在a后面/text()获取的是连接的内容,例如12345,拿到的是12345,所以没有得到我想要的href链接
在这里插入图片描述

发布了5 篇原创文章 · 获赞 0 · 访问量 35

猜你喜欢

转载自blog.csdn.net/Sxk181110527/article/details/105122134