Python 3.x Python Selenium如果元素为none,请单击其他元素
每次我访问同一网站上不同股票的页面时,需要单击的其中一个按钮要么有xpathPython 3.x Python Selenium如果元素为none,请单击其他元素,python-3.x,selenium,if-statement,Python 3.x,Selenium,If Statement,每次我访问同一网站上不同股票的页面时,需要单击的其中一个按钮要么有xpath“//*[@id=“content”]/div[1]/div/a[4]”,要么有xpath“//*[@id=“content”]/div[1]/div/a[5] 如果第一个xpath与所选的股票不匹配,我如何让它切换到另一个xpath,同时又不会出现非类型错误 我的一个尝试是: tradebut=browser.find_element_by_xpath('//*[@id="content"]/div
“//*[@id=“content”]/div[1]/div/a[4]”
,要么有xpath“//*[@id=“content”]/div[1]/div/a[5]
如果第一个xpath与所选的股票不匹配,我如何让它切换到另一个xpath,同时又不会出现非类型错误
我的一个尝试是:
tradebut=browser.find_element_by_xpath('//*[@id="content"]/div[1]/div/a[4]')
tradebut.click()
if tradebut.click() == None:
browser.find_element_by_xpath('//*[@id="content"]/div[1]/div/a[5]').click()
提前感谢您的帮助。假设您的实际错误类似于
AttributeError:“NoneType”对象没有属性“click”
,您可以这样处理异常:
try:
tradebut = browser.find_element_by_xpath('//*[@id="content"]/div[1]/div/a[4]')
tradebut.click()
except AttributeError:
tradebut = browser.find_element_by_xpath('//*[@id="content"]/div[1]')
tradebut.click()
如果错误不同,请将
AttributeError
与您的错误交换,或者删除它,只留下except:
您可以在xpath中使用l或符号来分隔两种类型,然后使用try-except来捕获错误。如果其中一个XPath工作,则单击此按钮。