Я пытаюсь автоматизировать нажатие кнопки «ПОКАЗАТЬ БОЛЬШЕ» внизу страницы, чтобы получить все отзывы.
Однако у меня возникли некоторые проблемы с его поиском, и я был бы очень признателен, если бы вы мне помогли.
Я испробовал несколько методов, но не уверен, почему ни один из нихРабота.
1) Метод 1: CSS-селектор
driver.find_element_by_css_selector("U26fgb.O0WRkf.oG5Srb.C0oVfc.n9lfJ.M9Bg4d")
приводит к:
NoSuchElementException: Message: no such element: Unable to locate element
2) Метод 2: XPath Helper (расширение в Chrome)
driver.find_element_by_xpath("/html/body[@id='yDmH0d']/div[@id='fcxH9b']/div[@class='WpDbMd']/c-wiz[@class='zQTmif SSPGKf I3xX3c drrice']/div[@class='T4LgNb']/div[@class='ZfcPIb']/div[@class='UTg3hd']/div[@class='JNury Ekdcne']/div[@class='LXrl4c']/div/div[@class='W4P4ne ']/div[2]/div[@class='PFAhAf']/div[@class='U26fgb O0WRkf oG5Srb C0oVfc n9lfJ']/span[@class='CwaK9']/span[@class='RveJvd snByac']")
приводит к той же ошибке, что и выше.
3) Метод 3: WebDriverWait
Я прочитал другие вопросы о переполнении стека, связанные с этим, и попытался использовать WebDriverWait, и вот мой код:
WebDriverWait(driver, 15).until(EC.presence_of_element_located((By.XPATH, "/html/body[@id='yDmH0d']/div[@id='fcxH9b']/div[@class='WpDbMd']/c-wiz[@class='zQTmif SSPGKf I3xX3c drrice']/div[@class='T4LgNb']/div[@class='ZfcPIb']/div[@class='UTg3hd']/div[@class='JNury Ekdcne']/div[@class='LXrl4c']/div/div[@class='W4P4ne ']/div[2]/div[@class='zc7KVe']/div[@class='d15Mdf bAhLNe']/div[@class='xKpxId zc7KVe']/div[@class='bAhLNe kx8XBd']/span[@class='X43Kjb']"))).click()
, но столкнулсяс TimeoutException
4) Я столкнулся с другим вопросом о смене фреймов, когда сталкиваюсь с такими ошибками, но мне кажется, что у меня нет фрейма для переключения (исправьте меня, если я ошибаюсь)
Это URL страницы: https://play.google.com/store/apps/details?id=com.Daylight.EzLinkAndroid&hl=en_SG
HTML-код, с которым у меня возникают проблемы, выглядит следующим образом:
<div class="PFAhAf" jscontroller="XO1Ihd" jsaction="JIbuQc:bRsdTc(i3y3Ic);">
<div role="button" class="U26fgb O0WRkf oG5Srb C0oVfc n9lfJ M9Bg4d
j7nIZb" jscontroller="VXdfxd" jsaction="click:cOuCgd;
mousedown:UX7yZ; mouseup:lbsD7e; mouseenter:tfO1Yc;
mouseleave:JywGue; focus:AHmuwe; blur:O22p3e;
contextmenu:mg9Pef;touchstart:p6p2H; touchmove:FwuNnf;
touchend:yfqBxc(preventMouseEvents=true|preventDefault=true);
touchcancel:JMtRjd;j9grLe:.CLIENT;HUObcd:.CLIENT" jsshadow=""
jsname="i3y3Ic" aria-disabled="false" tabindex="0">
<div class="Vwe4Vb MbhUzd" jsname="ksKsZd" style="top: 17.2px;
left: 70.225px; width: 98px; height: 98px;"></div>
<div class="ZFr60d CeoRYc"></div><span jsslot="" class="CwaK9">
<span class="RveJvd snByac">Show more</span>
</span>
</div>
</div>
Извините за длинный пост и спасибо за вашПомогите!:)