mileitutu 2021-01-29 14:10 采纳率: 0%
浏览 115
已结题

请问各位少侠,python+selenium爬虫,发送等待指令就被检测?

使用python+chromedriver+selenium爬取某网站,因为需要输入,查询项目的编号和验证码,因为要查三万多条所以就想写个爬虫解决

网址如下:

http://sq.nmpa.gov.cn/datasearch_nmpa/schedule/search.jsp?tableId=43&tableName=TABLE43&columnName=COLUMN464,COLUMN475&title=%D2%A9%C6%B7%D7%A2%B2%E1%BD%F8%B6%C8%B2%E9%D1%AF

chrome版本:87.0.4280.88 

from selenium import webdriver
from selenium.webdriver import ChromeOptions
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
import pandas as pd
option = webdriver.ChromeOptions()
option.add_experimental_option('excludeSwitches', ['enable-automation'])

为了把window.navigator.webdriver的参数改成undifine,我添加了option

browser = webdriver.Chrome(options=option)
browser.execute_cdp_cmd("Page.addScriptToEvaluateOnNewDocument",{
 
    "source":"""
        Object.defineProperty(navigator,'webdriver',{
            get: () => undefined
        })
    """
 
})

用webdriver打开目标页面

url = 'http://sq.nmpa.gov.cn/datasearch_nmpa/schedule/search.jsp?tableId=43&tableName=TABLE43&columnName=COLUMN464,COLUMN475&title=%D2%A9%C6%B7%D7%A2%B2%E1%BD%F8%B6%C8%B2%E9%D1%AF'

browser.get(url)

找到【查询】按钮的xpath

xpath = 'html/body/div[3]/div[2]/table[1]/tbody/tr/td/form/table/tbody/tr[2]/td/input[6]'

到这步为止,我点击查询按钮还是正常的,如果输错验证码会有弹窗,如果输入对了就会进入要查询的数据的详情页面。但是只要执行下面这句话

locat = WebDriverWait(browser, 10).until(EC.presence_of_element_located((By.XPATH, xpath)))

再点击【查询】就没有任何反应,弹窗也不出来了,即使受理号和验证码输入正确再点【查询】也没有任何反应,但是点击验证码的图片,验证码还是可以更换的,请问这种情况该如何解决呢?

  • 写回答

2条回答 默认 最新

  • 放风喽 2021-01-29 15:44
    关注

    换个思路,用别的方法鉴别是否正确的打开网页,用time.sleep来等待

    评论

报告相同问题?

悬赏问题

  • ¥20 PDF元数据中的XMP媒体管理属性
  • ¥15 R语言中lasso回归报错
  • ¥15 网站突然不能访问了,上午还好好的
  • ¥15 有没有dl可以帮弄”我去图书馆”秒选道具和积分
  • ¥15 semrush,SEO,内嵌网站,api
  • ¥15 Stata:为什么reghdfe后的因变量没有被发现识别啊
  • ¥15 振荡电路,ADS仿真
  • ¥15 关于#c语言#的问题,请各位专家解答!
  • ¥15 这个如何解决详细步骤
  • ¥15 在微信h5支付申请中,别人给钱就能用我的软件,这个的所属行业是啥?