首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >python selenium,克服javascript弹出窗口

python selenium,克服javascript弹出窗口
EN

Stack Overflow用户
提问于 2021-01-18 01:24:57
回答 2查看 147关注 0票数 0

,我正在做一个项目,我必须去一个网站,并在那里放弃大豆。我试图使用Python模块来完成这个任务,但是当我使用bot进入站点时,我会得到一个弹出(关于cookie的验收表单)。如果不按接受键,我就无法实现我想要做的事情。

我检查了站点的网络部分,找到了包含cookie的站点,当我进入该站点时,代码正常工作,它成功地按下了accept cookie按钮,但这对我不起作用,因为它甚至找不到主站点上的接受按钮,我知道这不是因为它是用javascript编写的,但是我不知道如何做到这一点。

不管怎么说,让我们进入代码部分。

在我想登录的网站上

从网站中发送cookie的站点使用

此代码适用于

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
from selenium import webdriver
import time
from bs4 import BeautifulSoup
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys

option = webdriver.ChromeOptions()
option.add_argument('--disable-notifications')
option.add_argument("--mute-audio")

driver = webdriver.Chrome("chromedriver.exe", options=option)


driver.get('https://consent-pref.trustarc.com/?type=jefftest_ibm&site=ibm.com&action=notice&country=tr&locale=tr&behavior=expressed&gtm=1&layout=default_eu&irm=undefined&from=https://consent.trustarc.com/#')


time.sleep(10)
driver.find_elements_by_class_name("call")[0].click()

,但它对另一个不起作用,我怎样才能让它对另一个也起作用呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-02-14 08:27:49

@这个飞行员的答案在某种程度上是有效的,但不能说它是非常动态的:

我带着原始铬去了网站,接受了曲奇并保存了这些曲奇。当我不得不稍后重新进入网站时,我重新加载了cookie.

下载cookies的

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import pickle
import time
from selenium import webdriver

option = webdriver.ChromeOptions()
option.add_argument("--disable-notifications")
option.add_argument("--mute-audio")
option.add_argument("user-data-dir=C:\\Users\\___*******__\\AppData\Local\\Google\\Chrome\\User Data")
driver = webdriver.Chrome(options = option)

driver.get('https://speech-to-text-demo.ng.bluemix.net/')

time.sleep(10)#in this time I accepted cookies

pickle.dump(driver.get_cookies(), open("cookies.pkl","wb"))#for download cookies

之后,我可以为chromedriver.exe使用cookies

用于cookies的

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import pickle
from selenium import webdriver

option = webdriver.ChromeOptions()
option.add_argument("--disable-notifications")
option.add_argument("--mute-audio")
driver = webdriver.Chrome("chromedriver.exe", options = option)

driver.get('https://speech-to-text-demo.ng.bluemix.net/')

file = open("cookies.pkl","rb")
cookies = pickle.load(file)
for cookie in cookies:
    driver.add_cookie(cookie)#for use cookies
file.close()
票数 0
EN

Stack Overflow用户

发布于 2021-01-18 01:32:54

您可以使用pyautogui来刺激单击:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import pyautogui

pyautogui.click(x=100, y=200)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65771772

复制
相关文章

相似问题

添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文