Scrape

import random
import time
from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC, select, wait 
from selenium.webdriver.common.by import By
from selenium.webdriver.chrome.options import Options
driver=webdriver.Chrome('d:/zhusc/chromedriver.exe')
chrome_options = Options()
chrome_options.add_argument('user-agent=Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.101 Safari/537.36 Edg/91.0.864.48')
chrome_options.add_argument("--disable-blink-features=AutomationControlled")
driver=webdriver.Chrome('D:/zhusc/chromedriver.exe', options=chrome_options)
with open('d:/zhusc/stealth.min.js') as f:
    js = f.read()
driver.execute_cdp_cmd("Page.addScriptToEvaluateOnNewDocument", {
"source": js
})
def wait_for_you(myDynamicElement):
    try:
        wait=WebDriverWait(driver,20)
        element=wait.until(EC.presence_of_element_located((By.XPATH,myDynamicElement)))        
    except:
        print('can not find the element:',myDynamicElement)
    else:
        try:
            time.sleep(3)
            driver.find_element_by_xpath(myDynamicElement).click()
        except:
            print('the element can not be clicked')
def switch_iframe(myDynamicElement):   #切换iframe 
    try:
        wait = WebDriverWait(driver, 20)
        element = wait.until(EC.presence_of_element_located((By.XPATH,myDynamicElement)))
        el_path = driver.find_element_by_xpath(myDynamicElement)
        driver.switch_to.frame(el_path)
    except:
        print('can not find iframe:',myDynamicElement)
driver.get("https://spa2.scrape.center/")
driver.maximize_window() #窗口最大化

x1='//*[@id="index"]/div[1]/div[1]/div[1]/div/div/div[2]/a/h2'
wait_for_you(x1)

driver.quit()

运行结果:
DevTools listening on ws://127.0.0.1:57895/devtools/browser/2d5540bc-fc28-4f9c-a405-ab2a0a4acb0d
[7712:7624:0702/154326.349:ERROR:device_event_log_impl.cc(214)] [15:43:26.349] FIDO: webauthn_api.cc:53 Windows WebAuthn API failed to load

DevTools listening on ws://127.0.0.1:49171/devtools/browser/507a668e-52b0-4719-98bf-263c0a85fecc
[4180:9664:0702/154328.362:ERROR:device_event_log_impl.cc(214)] [15:43:28.362] FIDO: webauthn_api.cc:53 Windows WebAuthn API failed to load
[5436:8252:0702/154333.751:ERROR:broker_win.cc(56)] Error reading broker pipe: 管道已结束。 (0x6D)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值