母婴幼儿调查问卷

import requests
import re
import json
import csv
import time
import random
import pymysql
from selenium import webdriver
from selenium.webdriver.common.by import By

def save_sql(raw_title ,pic_url ,detail_url ,view_price ,item_loc ,view_sales ,nick):
conn = pymysql.connect(
host='127.0.0.1',
port=3306,
user='root',
password='123',
db='crm'
)
cursor = conn.cursor()
sql = f'insert into cu_good_taobao values("{raw_title}" ,"{pic_url}" ,"{detail_url}" ,"{view_price}" , "{item_loc}" ,"{view_sales}" ,"{nick}" )'
cursor.execute(sql)
conn.commit()
conn.close()

url = "https://www.wjx.cn/jq/87910206.aspx" ####http://epub.cnipa.gov.cn/Index 中国专利网 也需要如此处理

driver = webdriver.Chrome()

driver.execute_cdp_cmd("Page.addScriptToEvaluateOnNewDocument", {

"source": '''

Object.defineProperty(navigator,{ webdriver:{ get: () => false } })

'''

})

driver.execute_cdp_cmd("Page.addScriptToEvaluateOnNewDocument", {
"source": '''
Object.defineProperty(navigator, 'webdriver' , {
get: () => false
})
'''
})

driver.get(url)
driver.implicitly_wait(10)

divs = driver.find_elements(By.CSS_SELECTOR,'.div_question')
print(len(divs))

one_choice = ['0','1','2','3','4','5','6','7','8','9']

any_choice = ['10','11']

one_choice = [0,1,2,3,4,5,6,7,8,9]
any_choice = [10,11]

解决所有单选

for i in one_choice:
lis = divs[i].find_elements(By.CSS_SELECTOR,'ul li')
random.choice(lis).click() ##随机娶一个

解决所有多选

for j in any_choice:
lis = divs[j].find_elements(By.CSS_SELECTOR,'ul li')
#random.choice(lis).click() ##随机娶一个
#随机选择三项
#choices() 可能会选择相同的选项
#random.choices()
#.sample() 随机选择不同的
lis_ = random.sample(lis,k=3)
for k in lis_:
k.click()

点击提交按钮

driver.find_element(By.CSS_SELECTOR,'#submit_button').click()
time.sleep(3)

----##点击只能验证码验证

----driver.find_element(By.CSS_SELECTOR,'#alter_box').click() #### #alert_box

----time.sleep(3)

----

----##点击认证

----driver.find_element(By.CSS_SELECTOR,'#.sm-ico .sm-ico-wave').click()

----time.sleep(3)

driver.find_element(By.CSS_SELECTOR,'.sm-ico .sm-ico-wave').click()
time.sleep(3)

driver.find_element(By.CSS_SELECTOR,'.sm-ico .sm-ico-wave').click()
time.sleep(3)

input()

driver.quit()

----driver = webdriver.Chrome(executable_path=path+'/chromedriver.exe',chrome_options=options)

----

----driver.execute_cdp_cmd("Page.addScriptToEvaluateOnNewDocument", {

---- "source": '''

---- Object.defineProperties(navigator,{ webdriver:{ get: () => false } }) }

----window.navigator.chrome = { runtime: {}, }; }

----Object.defineProperty(navigator, 'languages', { get: () => ['en-US', 'en'] }); }

----Object.defineProperty(navigator, 'plugins', { get: () => [1, 2, 3, 4, 5,6], }); }

---- '''

----})

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 01 实现效果 如视频上所示,基本上一秒一张,自动翻页提交,并且还可以多线程同时工作,也就是说,只要你开十个页面,...
    钱晓缺阅读 8,773评论 1 1
  • [TOC] 简介 Selenium 是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就...
    Whyn阅读 4,819评论 0 2
  • 一、自动化测试介绍 1、什么是自动化测试 概念:由程序代替人工进行系统校验的过程 1.1自动化测试能解决的问题? ...
    乐智由我阅读 2,532评论 1 1
  • -- coding: utf-8 -- """selenium 使用"""from selenium import...
    半大人阅读 4,028评论 0 0
  • Selenium对网页的控制是基于各种前端元素的,在使用过程中,对于元素的定位是基础,只有准去抓取到对应元素才能进...
    Y一条柴阅读 5,248评论 0 2