簡體   English   中英

如何使用硒單擊按鈕並移動到下一頁?

[英]How can I click the button and move to next page using selenium?

我無法使用 selenium 單擊按鈕並移至下一頁。 我嘗試了以下命令:

driver.find_element_by_xpath(".//div[text()='Production']").click() 
driver.find_element_by_xpath('//*[@id="root"]/div/[1]/div/div/div[2]/button[2]').click 

我添加了 html 的屏幕截圖。

在此處輸入圖片說明

我究竟做錯了什么?

要單擊帶有文本作為生產的元素,您可以使用以下任一定位器策略

  • 使用css_selector

     driver.find_element(By.CSS_SELECTOR, "button.nav-option.nav-option--main > div.section-title").click()
  • 使用xpath

     driver.find_element(By.XPATH, "//button[@class='nav-option nav-option--main']/div[@class='section-title']//div[text()='Production']").click()

理想情況下,單擊需要為element_to_be_clickable()引發WebDriverWait的元素,您可以使用以下任一定位器策略

  • 使用CSS_SELECTOR

     WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "button.nav-option.nav-option--main > div.section-title"))).click()
  • 使用XPATH

     WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//button[@class='nav-option nav-option--main']/div[@class='section-title']//div[text()='Production']"))).click()
  • 注意:您必須添加以下導入:

     from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.common.by import By from selenium.webdriver.support import expected_conditions as EC

我猜分頁按鈕在頁面底部,在可見屏幕之外。 如果是這樣,要單擊它,您首先必須向下滾動頁面,將該元素放入視圖中,然后才單擊它。
請試試這個:

pager = wait.until(EC.presence_of_element_located((By.XPATH, "//div[text()='Production']")))
driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")
time.sleep(0.5)
actions.move_to_element(pager).perform()
time.sleep(0.5)
driver.find_element_by_xpath("//div[text()='Production']").click() 

暫無
暫無

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

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