: geçildiğindeJSON ayrıştırma hatası Google'ın SafeFrame reklamlara geçildiğinde
var frames = driver.FindElements(By.TagName("iframe"));
foreach (var frame in frames) {
driver.SwitchTo().Frame(frame);
//Do stuff then switch back to default content
}
Bazı Google reklam çerçevelerle bu istisna:
"JSON Parse error: Unterminated string"
Selenium'un çerçeveye geçerken içeriği JSON yerine HTML olarak okumasını bekledim.
ben geçmek için çalışıyorum Google reklam safeframe: adı özniteliği iframe DOM içerdiğinden 60.000 karakter var olduğu
<iframe name="1-0-2;63563;<!doctype html><html><head><style><!--a:link { color: #000000 }a:visited { color: #000000 }a:hover { color: #000000 }a:active { color: #000000 } --></style><script><!--(function(){var b=this;var f=String.prototype.trim?function(a){return a.trim()}:function(a){return a.replace(/^[\s\xa0]+|[\s\xa0]+$/g,"")},m=function(a,c){return a<c?-1:a>c?1:0};var n;a:{var p=b.navigator;if(p){var q=p.userAgent;if(q){n=q;break a}}n=""};var r=-1!=n.indexOf("Opera")||-1!=n.indexOf("OPR"),t=-1!=n.indexOf("Trident")||-1!=n.indexOf("MSIE"),u=-1!=n.indexOf("Edge"),v=-1!=n.indexOf("Gecko")&&!(-1!=n.toLowerCase().indexOf("webkit")&&-1==n.indexOf("Edge"))&&!
iFrame HTML
kısa kesilir.Selenium'un bu google reklam safeframe'lerine nasıl geçebileceğini bilen var mı?
Bağlantıyı, birlikte çalıştığınız web sayfasıyla paylaşır mısınız? Teşekkürler. – alecxe
Bu, döngü yapan reklamların doğası nedeniyle zordur, ancak http://express.co.uk genellikle her yenilemede bir güvenlik reklamına sahiptir. Üst düzeydeki özellik data-is-safeframe = "true" ile oluşturulmuş olan güvenlik reklamları. Selenyum'dan farklı olarak, FireBug'ın bu saf çerçevelerin ayrıştırılmasında bir sorunu olmadığını belirtmeye değer. – badger110
Teşekkürler, express.co.uk sayfalarında çerçeveden kareye geçiş yapmaya çalıştı ... Sorunla karşılaştı. Sadece karanlıkta bir atış - en son selenyum ve firefox sürümlerini kullanıp kullanmadığınızı kontrol edin. Başka ek bilgiler de yardımcı olabilir. – alecxe