我想關閉所有出現在網頁中的廣告。廣告可以出現在不同的地方,兩行或一行。 我已經嘗試寫driver.findelement(By.xpath("//div[@id='cbb']")).click()
但問題是所有的廣告都有關閉按鈕相同的代碼。 還有另一種方法可以做到嗎?刪除Selenium webdriver中的所有廣告
-2
A
回答
1
選項#1
我建議使用JavascriptExecutor。基本上你可以(在你的情況下,廣告的HTML)添加style='visibility: hidden;'
到HTML塊:
public void hideElement(String xpath)
{
WebElement element = driver.findElement(By.xpath(xpath));
((JavascriptExecutor)driver).executeScript("arguments[0].style.visibility='hidden'", element);
}
隱藏多個元素,你需要拿出JS功能,將隱藏的元素,然後通過它爲字符串到executeScript()
public void hideElements()
{
String jscode = "var elements = document.getElementsByClassName('className');
for (var i = 0; i < elements.length; i++){
elements[i].style.display = 'none';
};";
// escaping single/double quotes/tabs/line breaks/so on
jscode = escapeJS(jscode);
((JavascriptExecutor)driver).executeScript(jscode);
}
輔助功能(需要此導入:org.apache.commons.lang3.StringEscapeUtils;
- 你可以從這個here庫):
/**
* Escapes JS.
*/
public static String escapeJS(String value) {
return StringEscapeUtils.escapeEcmaScript(value);
}
注意,確保添加必要超時等待頁面上試圖掩蓋他們之前加載的所有廣告
選項#2 - 有點鐵桿,如果你沒有的jQuery您的網頁
上如果您還沒有jQuery的 - 你可以把它添加到DOM(這將需要一些Java代碼添加),然後使用它的方法來隱藏我張貼以上
- Java代碼中的元素
如果你有jQuery加載你的頁面 - 只需搜索jQuery代碼來隱藏頁面上的HTML(替代上面發佈的vanilla JS),並將這些代碼添加到Java函數中。
0
相關問題
- 1. Selenium Webdriver:刪除所有域上的Cookies
- 2. 無法刪除Selenium webdriver中當前域的所有cookie
- 3. Selenium Webdriver的範圍報告
- 4. 在junit selenium webdriver中的報告
- 5. Facebook廣告API的Python - 如何刪除
- 6. 刪除廣告或隱藏的AdView
- 7. 如何從ArrayList Selenium WebDriver JAVA中刪除重複的WebElement?
- 8. 立即刪除AdMob橫幅廣告?
- 9. AdMob Intersitial廣告刪除延遲
- 10. MoPub SDK:如何刪除視頻廣告?
- 11. 我可以刪除AdMob廣告:testDevices
- 12. 在WebDriver中加載頁面之前刪除部分HTML - Selenium&Python
- 13. 如何從搜索引擎中刪除廣告網址/廣告搜索網址
- 14. 更新現有廣告組中的廣告素材
- 15. Selenium Webdriver警告 - 無效令牌「屏幕」
- 16. 的PhoneGap構建:AdMob廣告(刪除與正統劇廣告測試Ad)
- 17. 的webdriver - 點擊並刪除所有持續顯示元素
- 18. 應用程序購買中的「刪除廣告」是否應該刪除獎勵廣告以及橫幅和插頁式廣告?
- 19. 試圖通過Chrome擴展程序刪除Gmail中的廣告
- 20. 是否可以從我的webview中刪除廣告?
- 21. 無法使用Eloqua中的Postman刪除多個廣告系列
- 22. 從我的iPhone應用程序中刪除廣告
- 23. 運行Selenium Webdriver時,URL地址是刪除線
- 24. 在selenium webdriver中的Java類
- 25. selenium webdriver中的IE問題?
- 26. 檢索帳戶中所有有效廣告的Facebook Insights?
- 27. Selenium webdriver:如何找到元素的所有屬性?
- 28. 如何使用Java獲得Selenium WebDriver的所有跨度值?
- 29. 銷燬所AdMob廣告Libgdx
- 30. 如何在Selenuim webdriver(java)中處理意外的iframe廣告?
你在做什麼?你使用Selenium進行網頁抓取嗎?你能在瀏覽器中安裝一個adblocker嗎? – Robert
我在我的普通Chrome上安裝了adblock。在打開的新頁面中不包含我的任何擴展。如果我有adblocker,我不會問 – ctina