,我正在做一个项目,我必须去一个网站,并在那里放弃大豆。我试图使用Python模块来完成这个任务,但是当我使用bot进入站点时,我会得到一个弹出(关于cookie的验收表单)。如果不按接受键,我就无法实现我想要做的事情。
我检查了站点的网络部分,找到了包含cookie的站点,当我进入该站点时,代码正常工作,它成功地按下了accept cookie按钮,但这对我不起作用,因为它甚至找不到主站点上的接受按钮,我知道这不是因为它是用javascript编写的,但是我不知道如何做到这一点。
不管怎么说,让我们进入代码部分。
此代码适用于这
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>m=1&layout=default_eu&irm=undefined&from=https://consent.trustarc.com/#')
time.sleep(10)
driver.find_elements_by_class_name("call")[0].click()
,但它对另一个不起作用,我怎样才能让它对另一个也起作用呢?
发布于 2021-02-14 08:27:49
@这个飞行员的答案在某种程度上是有效的,但不能说它是非常动态的:。
我带着原始铬去了网站,接受了曲奇并保存了这些曲奇。当我不得不稍后重新进入网站时,我重新加载了cookie.。
下载cookies的:
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的:
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()
发布于 2021-01-18 01:32:54
您可以使用pyautogui来刺激单击:
import pyautogui
pyautogui.click(x=100, y=200)
https://stackoverflow.com/questions/65771772
复制相似问题