Python selenium可选单击链接
我有一个selenium,假设在访问页面时单击链接下载文件, 虽然并非所有页面都有此链接 因此,我的问题是,如果页面上有链接,就可以单击它,如果没有链接,就可以继续执行其他任务 我的问题是在没有链接的页面上,它会导致程序停止和崩溃。 我正在寻找一种可能的方式来点击链接,如果链接不存在,就继续做其他事情Python selenium可选单击链接,python,selenium-chromedriver,Python,Selenium Chromedriver,我有一个selenium,假设在访问页面时单击链接下载文件, 虽然并非所有页面都有此链接 因此,我的问题是,如果页面上有链接,就可以单击它,如果没有链接,就可以继续执行其他任务 我的问题是在没有链接的页面上,它会导致程序停止和崩溃。 我正在寻找一种可能的方式来点击链接,如果链接不存在,就继续做其他事情 try: instructions= WebDriverWait(self.driver,5).until(EC.ele
try:
instructions= WebDriverWait(self.driver,5).until(EC.element_to_be_clickable(
(By.XPATH,"//dl//div[@class='paper_instructions_view']/a")))
if instructions:
instructions.click
pass
finally:
enter_amount = self.driver.find_element_by_xpath("//input[@id='id_bid']")
enter_amount.send_keys(get_budget)
time.sleep(5)
apply= WebDriverWait(self.driver,200).until(EC.element_to_be_clickable(
(By.XPATH,"//input[@id='apply_order']"))).submit()
self.click_on_order_button_from_inside()
首先仔细分析脚本抛出的错误。 在“finally”之后的第一行中的示例中,您试图查找ID=“ID\u bid”的元素,但始终调用此代码,若缺少此对象,则会出现错误。 您只需要将所有可能失败的操作(例如all find_element_by…)移动到try子句。 关于try的更多信息,除了最后一点:
问题是您处理异常的方式。在第一个回答中,无论按钮是否存在,都会显示最终块将始终被执行。假设您正在检查页面上的
说明
链接。您可以执行以下操作:
try:
instructions= WebDriverWait(self.driver,5).until(EC.element_to_be_clickable(
(By.XPATH,"//dl//div[@class='paper_instructions_view']/a"))).click()
except NoSuchElementException:
pass
上面的代码将查找
说明链接
,如果找到它,将单击它,否则它将通过传递
您正在检查的URL是什么?