使用硒和requests.get检查网站是否有特定词

问题描述

我正在尝试构建一个可以自动回答特定问题的Python程序。

但是在构建该算法之前,我需要阅读该站点并制作一个if语句,该语句可以找到我要查找的单词并填写表格。这是代码

from selenium import webdriver 
import urllib 
import requests 

PATH = "C:\Program Files (x86)\Google\chromedriver.exe" 
driver = webdriver.Chrome(PATH) driver.get("site") 
words = ['JulkiTerhikki','Mikä','Lähetä'] 
site = requests.get("site").read() 
HTML = site.decode("utf-8") 

for word in words: 
    if word in site: 
        print(word) 
    else: 
        print(word,"not found") 
    time.sleep(2) 

driver.quit()

非常感谢您的帮助。

解决方法

以下是使用请求的版本:

import requests

words = ['JulkiTerhikki','Mikä','Lähetä'] 
site = requests.get("http://julkiterhikki.valvira.fi").content 
HTML = site.decode("utf-8") 

for word in words: 
    if word in HTML: 
        print(word) 
    else: 
        print(word,"not found") 

以下是使用硒的版本:

from selenium import webdriver 

words = ['JulkiTerhikki','Lähetä'] 

PATH = "<<PATH_TO_CHROMEDRIVER>>" 
driver = webdriver.Chrome(PATH) 
driver.get("http://julkiterhikki.valvira.fi")
HTML = driver.page_source


for word in words: 
    if word in HTML: 
        print(word) 
    else: 
        print(word,"not found") 
,

U可以仅使用硒(不使用请求)来执行此操作,如下所示:

from selenium import webdriver

driver = webdriver.Chrome()

driver.get('https://julkiterhikki.valvira.fi/')

words = ['JulkiTerhikki','Lähetä']

html = driver.page_source

words_present = [x for x in words if x in html]

print(words_present)

输出:

['JulkiTerhikki']

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...