使用Python在Chrome中添加参数

问题描述

所以我刚刚开始学习python,作为一种练习,我只希望python执行以下命令: 1,转到Reddit 2.登录 3,创建帖子 4.输入帖子内容 5.点击“发布”以发布内容

一切都很好,我已经做到了,但是有一个问题,Chrome在最后一步显示通知“ Reddit要发送通知”。如果有的话,对话框中出现的“阻止”按钮选择器这将是非常有帮助的,或者如果有人可以告诉我如何添加命令行争论,以使对话框完全不显示,谢谢。我将代码留在下面以防万一。这只是我想要的一件简单的事情可以通过尝试使用python进行新操作来提高难度。这不是一个严肃的项目或其他事情。考虑它等同于打印Hello Word

    from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import webdriverwait
from selenium.webdriver.support import expected_conditions as EC

#Setting the chrome driver location 
browser = webdriver.Chrome(executable_path=r'C:\Selenium\chromedriver.exe')

#Which Link to goto inorder to submit a post 
browser.get('https://www.reddit.com/login/?dest=https%3A%2F%2Fwww.reddit.com%2Fsubmit')
#Telling the code what to write in the username feild when asked for an ID/Password 
browser.find_element_by_css_selector('#loginUsername').send_keys("******")
##Telling the code what to write in the username feild when asked for an ID/Password 
browser.find_element_by_css_selector('#loginPassword').send_keys("******" + Keys.ENTER)
#Telling the browser to wait 10 seconds so that the next page loads
wait = webdriverwait(browser,10)
#When the following element will be present on said page the code will automatically type "Hello World in the tittle feild" 
wait.until(EC.presence_of_element_located((By.CSS_SELECTOR,'#SHORTCUT_FOCUSABLE_DIV > div:nth-child(4) > div > div > div > div._3ozFtOe6WpJEMUtxDOIvtU > div._1vyLCp-v-tE5QvZovwrASa > div._1OVBBWLtHoSPfGCRaPzpTf._3nSp9cdBpqL13CqjdMr2L_._2udhMC-jldHp_EpAuBeSR1.PaJBYLqPf_Gie2aZntVQ7 > div.HOFZo2X7Fr6JVBztpsByj > div._3w_665DK_NH7yIsRMuZkqB > div._1zq6UabIEJJ-z9grsiCJY7 > div._3zkbHfhLbXp21FwGj_kNZV > div > textarea'))).send_keys("Hello World")
#CSS selector for the content feild 
browser.find_element_by_css_selector('#SHORTCUT_FOCUSABLE_DIV > div:nth-child(4) > div > div > div > div._3ozFtOe6WpJEMUtxDOIvtU > div._1vyLCp-v-tE5QvZovwrASa > div._1OVBBWLtHoSPfGCRaPzpTf._3nSp9cdBpqL13CqjdMr2L_._2udhMC-jldHp_EpAuBeSR1.PaJBYLqPf_Gie2aZntVQ7 > div.HOFZo2X7Fr6JVBztpsByj > div._3w_665DK_NH7yIsRMuZkqB > div._1zq6UabIEJJ-z9grsiCJY7 > div:nth-child(2) > div > div > div._2baJGEALPiEMZpWB2iWQs7 > div > div:nth-child(1) > div > div > div').send_keys("Basically what the title says")
#CSS Selector for which community i wanna post it in 
browser.find_element_by_css_selector('#SHORTCUT_FOCUSABLE_DIV > div:nth-child(4) > div > div > div > div._3ozFtOe6WpJEMUtxDOIvtU > div._1vyLCp-v-tE5QvZovwrASa > div._1OVBBWLtHoSPfGCRaPzpTf._3nSp9cdBpqL13CqjdMr2L_._2udhMC-jldHp_EpAuBeSR1.PaJBYLqPf_Gie2aZntVQ7 > div.HOFZo2X7Fr6JVBztpsByj > div.XZK-LTFT5CgGo9MvPQQsy.i0kJNtq5ma1uzBox9_mM4 > div > div > div.anPJr_ybRailY8NbAunl2 > input').send_keys('r/ibraheem69scitadel'+ Keys.ENTER)
#CSS Selector for the post click button 
browser.find_element_by_css_selector('#SHORTCUT_FOCUSABLE_DIV > div:nth-child(4) > div > div > div > div._3ozFtOe6WpJEMUtxDOIvtU > div._1vyLCp-v-tE5QvZovwrASa > div._1OVBBWLtHoSPfGCRaPzpTf._3nSp9cdBpqL13CqjdMr2L_._2udhMC-jldHp_EpAuBeSR1.PaJBYLqPf_Gie2aZntVQ7 > div.HOFZo2X7Fr6JVBztpsByj > div._3w_665DK_NH7yIsRMuZkqB > div.XZK-LTFT5CgGo9MvPQQsy._1d1--0DMy_jAIxCCoYMo1k > div._2DHDj0dbS1TkKD3fMqSbHy > div > div._1T0P_YQg7fOYLCRoKl_xxO > button').click()

解决方法

请像这样禁用硒Chrome浏览器Web驱动程序Javascript通知。

chrome_options = Options()
chrome_options.add_experimental_option( "prefs",{'profile.managed_default_content_settings.javascript': 2})

或作为另一个stackoverflow用户说过here