[英]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.