Python Selemium-无法单击按钮

时间:2020-08-26 00:46:39

标签: python selenium-webdriver selenium-chromedriver

希望你很好, 请!希望您能在这个主题上支持我。 我尝试了很多方法来尝试按Selenium单击此按钮,但是我做不到。错误是Selenium无法找到对象。

ERROR MESSAAGE: selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"xpath", "selector":"//*[@id='C47_W166_V167_thtmlb_button_2']"}

此处点击的python代码:

window_before = driver.window_handles[0] #Save Current window 
window_after = driver.window_handles[1] #Identify new raised window  
driver.switch_to.window(window_after) #To go to new raised window 

time.sleep(3)

driver.maximize_window()

driver.switch_to.frame("WorkAreaFrame1popup")
print(driver.title)
time.sleep(3)

ALL_BRANDS_BTN= driver.find_element_by_xpath("//*[@id='C51_W184_V185_thtmlb_button_2']")
ALL_BRANDS_BTN.click()

我对同一Web工具上的其他按钮进行了相同操作,没有任何问题,但是对于这个特定按钮,我做不到。也许我想念什么? 我已经花了额外的等待时间,但是都没有用。

我将附加元素检查的图像。拜托,希望你能帮助我, 预先感谢

<a href="javascript:void(0)" class="th-bt th-bt-text" onclick="thBtMgr.click(this);return htmlbSL(this,2,'C51_W184_V185_thtmlb_button_2:EXCEL','0')" onmousedown="thBtMgr.press(this,event);" onfocusout="thBtMgr.unpress(this);" onfocus="thSaveKbFocus(this);" oncontextmenu="return false;" ondragstart="return false;" id="C51_W184_V185_thtmlb_button_2"><span class="th-bt-span"><b class="th-bt-b">All Brands</b></span></a>

<span class="th-bt-span"><b class="th-bt-b">All Brands</b></span>

1 个答案:

答案 0 :(得分:0)

正如您提到的,您对其他按钮使用了相同类型的代码,因此我假设您位于正确的窗口和iFrame中。如果没有,请确保您的按钮处于正确的形状和框架中。

您可以尝试以下代码来单击按钮吗?

btn = WebDriverWait(driver, 30).until(EC.visibility_of_element_located((By.XPATH, "//b[text()='All Brands']//ancestor::a"))) #Used Text instea of Id , as not sure if ID is dynamic or not
driver.execute_script("arguments[0].scrollIntoView();", btn ) #Scroll to button
driver.execute_script("arguments[0].click();", btn ) #Click then button