我有一个非常简单的网页,希望输入激活码后单击“下一步”按钮。但是我无法通过值/名称“ next”找到元素。从inspect元素
<input type="submit" name="activationpage1:j_id_id18" value="Next >>" style="font-family:Arial,sans-serif;font-size:11px;text-align:center;" />
如何在python代码中单击名为 Next>>
的按钮来实现此目的?
答案 0 :(得分:2)
此元素的名称为"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 >>"]')
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;"]')
答案 1 :(得分:0)
要在文本为 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