使用Python中的硒,单击网页上的“下一步”按钮

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用Python中的硒,单击网页上的“下一步”按钮相关的知识,希望对你有一定的参考价值。

我有一个非常简单的网页,希望输入激活码后单击“下一步”按钮。但是我无法通过值/名称“ next”找到该元素。从inspect元素

<input type="submit" name="activationpage1:j_id_id18" value="Next &gt;&gt;" style="font-family:Arial,sans-serif;font-size:11px;text-align:center;" />

如何在python代码中单击名为[[Next>>的按钮?

答案
此元素的名称为"activationpage1:j_id_id18",请使用

driver.find_element_by_name("activationpage1:j_id_id18")

或者您也可以使用xpath,例如

driver.find_element_by_xpath('//input[@name="activationpage1:j_id_id18"]') driver.find_element_by_xpath('//input[@value="Next &gt;&gt;"]') driver.find_element_by_xpath('//input[@type="submit"]') driver.find_element_by_xpath('//input[@style="font-family:Arial,sans-serif;font-size:11px;text-align:center;"]')

另一答案
对于文本为

click()的元素上的Next >>,您必须为element_to_be_clickable()引入WebDriverWait,并且可以使用以下任何一个Locator Strategies

  • 使用CSS_SELECTOR

    WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "input[name^='activationpage'][value^='Next'][type='submit']"))).click()

  • 使用XPATH

    WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//input[starts-with(@name,'activationpage') and starts-with(@value,'Next')][@type='submit']"))).click()

  • 注:您必须添加以下导入:

    from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.common.by import By from selenium.webdriver.support import expected_conditions as EC
  • 以上是关于使用Python中的硒,单击网页上的“下一步”按钮的主要内容,如果未能解决你的问题,请参考以下文章

    如何在python中使用selenium或scrapy单击“下一步”按钮

    如何将网页上的内容复制到excel表格

    如何使用Java中的selenium从页数逐个单击“下一步”按钮

    提交元素不可点击的硒python

    为啥我的硒预期条件不能作为 python if 语句中的条件工作?

    使用python的不可靠的硒webdriver单击