使用我一直获得的无头硒运行以下代码:
while True:
time.sleep(5)
try:
driver.get(URL)
driver.execute_script("window.alert = function() {};")
WebDriverWait(driver, 70).until(EC.visibility_of_element_located((By.XPATH, '//span[@data-testid="send"]'))).click()
except Exception as e:
print(e)我试着调试这个截屏的无头Selenium,但是我根本看不到任何警告。
我一直得到:
警报文本:{警报文本:消息:意外警报打开:{警报文本:}
发布于 2022-10-18 11:07:09
下面的行指示浏览器显示警报,因为这会导致“意外警报”异常。
driver.execute_script("window.alert = function() {};")在浏览器中显示警报时,不可能从selenium中获取屏幕快照,您将得到异常。不过,如果您想处理警报异常,请删除上面的代码并调用下面的方法代码,如下所示: def handle_alert():try: driver.switch_to.alert.accept() print(“警报接受”),除了: print("no“)
发布于 2022-10-18 13:48:56
你得先处理好警报。然后点击一下。
try:
WebDriverWait(driver, 5).until(EC.alert_is_present()) # this will wait 5 seconds for alert to appear
alert = browser.switch_to.alert # or self.driver.switch_to_alert() depends on your selenium version
alert.accept()
except TimeoutException:
pass
WebDriverWait(driver, 70).until(EC.visibility_of_element_located((By.XPATH, '//span[@data-testid="send"]'))).click()https://stackoverflow.com/questions/74108141
复制相似问题