Как обойти вложенные IFRAME?



  • Мне необходимо сделать клик через вложенные FRAME, причем их кол-во я не знаю, т.к. рекламные фреймы постоянное меняются.
    Как это можно сделать?
    Допустим сайт https://teknoblog.ru/2015/08/28/45442 и необходимо на google рекламу кликнуть.
    Клик по ссылкам так определяет:

     >XPATH> id("aswift_0") >FRAME> >XPATH> id("google_ads_frame1") >FRAME> >XPATH> //a[contains(@href, 'doubleclick.net')]
    

    Как мне сделать работающим ниже строку поиска без зависимых фреймов (или хотя бы убрать зависимость от id)?

    >XPATH> //a[contains(@href, 'doubleclick.net')]
    

    0_1563627619858_iframe.png



  • @agility said in Как обойти вложенные IFRAME?:

    Мне необходимо сделать клик через вложенные FRAME, причем их кол-во я не знаю, т.к. рекламные фреймы постоянное меняются.
    Как это можно сделать?
    Допустим сайт https://teknoblog.ru/2015/08/28/45442 и необходимо на google рекламу кликнуть.
    Клик по ссылкам так определяет:

     >XPATH> id("aswift_0") >FRAME> >XPATH> id("google_ads_frame1") >FRAME> >XPATH> //a[contains(@href, 'doubleclick.net')]
    

    Как мне сделать работающим ниже строку поиска без зависимых фреймов (или хотя бы убрать зависимость от id)?

    >XPATH> //a[contains(@href, 'doubleclick.net')]
    

    нужно сделать цикл по всем фреймам, включая вложенные, BAS позволяет это сделать стандартными средствами.



  • @fox, а как быть со встроенными функциями? Например, мне нужно получить кол-во ссылок во вложенном FRAME. Мне в результате 0 выдает, хотя это неправда.
    0_1566920820583_count.png



  • @agility said in Как обойти вложенные IFRAME?:

    @fox, а как быть со встроенными функциями? Например, мне нужно получить кол-во ссылок во вложенном FRAME. Мне в результате 0 выдает, хотя это неправда.

    "Неправда", ёмко и весьма конструктивно :D

    Вы используете модуль xpath, в нём для каждого действия необходимо указывать xpath выражение, а не селектор BAS'a.

    Сам по себе xpath не знает таких выражений как >FRAME>, >XPATH> и т.п.

    Тестовый скрипт


Log in to reply