接受鍍鉻權限請求我有一個HTML/JavaScript文件與谷歌的網絡語音API和我做使用Selenium測試,但是每次我進入瀏覽器請求許可使用我的麥克風的網站,我必須點擊在'允許'上。使用硒
我如何在自動允許硒點擊?
接受鍍鉻權限請求我有一個HTML/JavaScript文件與谷歌的網絡語音API和我做使用Selenium測試,但是每次我進入瀏覽器請求許可使用我的麥克風的網站,我必須點擊在'允許'上。使用硒
我如何在自動允許硒點擊?
@ExperimentsWithCode
謝謝您的回答再次,我已經花了差不多一整天今天試圖找出如何做到這一點,我也試了你r建議您在哪裏添加該標誌--disable-user-media-security
鉻,不幸的是它不適合我。
但是我認爲一個非常簡單的解決方案:
要自動點擊允許所有我需要做的就是按TAB鍵三次,然後按Enter。所以我寫了這個程序來自動完成這個工作,並且它能夠工作!
第一個選項卡時,我的HTML頁面打開引導我到我的輸入框,第二個地址欄和允許按鈕第三,然後按確定鍵被按下按下。
Python程序使用硒以及PyWin32綁定。
感謝您抽出寶貴時間,盡力幫助我,非常感謝。
很高興你能工作! – ExperimentsWithCode
如果你可以給我你的電子郵件,我會給你一個視頻 –
這很酷。我應該想到這一點。我以前閱讀過這方面的內容,但是我使用的是Mac,所以PyWin32不適合我,並且我還沒有找到合適的替代品。謝謝你的提議! – ExperimentsWithCode
所以,我只是碰到了another question詢問有關禁用不同的提示框。看起來你可能有辦法實現你的目標。
This page列表選項啓動鉻。其中一個選項是
所以,也許這會爲你工作
--disable-user-media-security
「訪問像攝像頭和麥克風,用戶媒體設備時,特別是在非HTTPS網頁禁用一些安全措施」:
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
chrome_options = Options()
chrome_options.add_argument("--disable-user-media-security=true")
driver = webdriver.Chrome(executable_path="path/to/chromedriver", chrome_options=chrome_options)
【JAVA】:是的,有一個簡單的方法來點擊使用機器人java.awt中
public void allowGEOLocationCapture(){
Robot robot = null;
try {
robot = new Robot();
robot.keyPress(KeyEvent.VK_TAB);
robot.keyPress(KeyEvent.VK_ENTER);
robot.delay(600);
} catch (AWTException e) {
getLogger().info(e);
}
}
與此頗有幾分按倒自己允許按鈕。
最簡單的方法是避免將瀏覽器開關的權限提示設爲add --use-fake-ui-for-media-stream
。
下面是從@ ExperimentsWithCode的回答有些無恥地修改代碼:
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
chrome_options = Options()
chrome_options.add_argument("--use-fake-ui-for-media-stream")
driver = webdriver.Chrome(executable_path="path/to/chromedriver", chrome_options=chrome_options)
您可以允許使用add_experimental_option,如下圖所示。
from selenium.webdriver.chrome.options import Options
chrome_options = Options()
chrome_options.add_experimental_option('prefs',{'profile.default_content_setting_values.notifications':1})
driver = webdriver.Chrome(chrome_options=chrome_options)
當心Mohana Latha的JAVA答案!代碼只是按下按鈕,從不釋放它們。這會在稍後帶來一系列問題。
使用這個代替:
// opening new window
Robot robot;
try {
robot = new Robot();
robot.keyPress(KeyEvent.VK_CONTROL);
robot.delay(100);
robot.keyPress(KeyEvent.VK_N);
robot.delay(100);
robot.keyRelease(KeyEvent.VK_N);
robot.delay(100);
robot.keyRelease(KeyEvent.VK_CONTROL);
robot.delay(100);
} catch (AWTException e) {
log.error("Failed to press buttons: " + e.getMessage());
}
您可以使用Firefox?我在firefox中使用這些對話框的經驗是,您必須將您的配置文件設置爲默認允許。從1年前開始,[您無法使用自定義Chrome配置文件](http://stackoverflow.com/questions/13840855/selenium-webdriver-python-opening-chrome-browser-to-run-test-case-does - 不加載),我沒有看到任何相反的事情。此外,我試圖設置一個鉻配置文件,以允許默認使用麥克風,該菜單不適用於我。它看起來像[已知的錯誤](https://code.google.com/p/chromium/issues/detail?id=248987) – ExperimentsWithCode
Unfortunatley我必須使用chrome,因爲Google語音僅適用於Chrome瀏覽器 –
您可以檢查查看是否可以將麥克風的例外添加到您的配置文件中。它不適用於我的機器,但也許它會適用於您的機器。 1.打開一個新的標籤 2.在瀏覽器菜單中,單擊偏好 3.單擊顯示高級設置(其在設置選項卡,如果你不打開該網頁)下隱私 4.單擊內容設置5.向下滾動到媒體,然後單擊管理例外 6.從這裏您應該可以添加網站並將其設置爲允許麥克風 – ExperimentsWithCode