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()