簡體   English   中英

硒位於按鈕中,由iframe包含,可以打印按鈕文本但不能單擊

[英]selenium located a button is contain by iframe, can print button text but can't click

<iframe name="contentFrame">
  ...
  <a herf="#" class="zbtn znxt">next-page</a>
  ...
</iframe>

我想抓取評論 ,找到“下一頁”按鈕

driver.get(url)
# switch iframe
driver.switch_to.frame('contentFrame')
try:
    next_btn = wait.until(
     EC.element_to_be_clickable((By.CLASS_NAME, 'znxt'))
    )
    print(next_btn)
    next_btn.click()
except TimeoutException:
    ....

它可以打印按鈕的文本,但是控制台會向我顯示錯誤消息, 在此處輸入圖像描述

嘗試這個。 它應該工作。 考慮到您知道進口的事實。

wait.until(EC.frame_to_be_available_and_switch_to_it(driver.find_element_by_css_selector("#g_iframe")))
item = wait.until(EC.visibility_of_element_located((By.CSS_SELECTOR, ".znxt")))
driver.execute_script("arguments[0].click();", item)

它也應該起作用:

wait.until(EC.frame_to_be_available_and_switch_to_it(driver.find_element_by_css_selector("#g_iframe")))
item = wait.until(EC.visibility_of_element_located((By.CSS_SELECTOR, ".znxt")))
driver.execute_script("arguments[0].scrollIntoView();", item)
item.click()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM