0

每当我尝试从 Selenium 捕获屏幕截图并尝试将屏幕截图保存到指定文件夹时,它都会返回 false。

driver.find_element_by_tag_name('body').screenshot(os.getcwd()+"/PermitSide/"+folio_number+".png")

但是,当我使用以下命令保存屏幕截图时,它会被保存并返回 true。

driver.save_screenshot('ss.png')

我已经创建了 PermitSide 文件夹,但屏幕截图没有保存在那里。

代码试验:

driver.get('https://w85exp.miamidade.gov/permitInqWeb/folioStatus/get_folio_inq.jsp?folioNumber=' + folio_number)

#Take data from config file
file = open('configps.txt')
lines = file.readlines()
folio_number = lines[0]

driver.implicitly_wait(30)

#Find elements and take snapshots
elementID = driver.find_element_by_xpath('/html/body/table/tbody/tr[2]/td/table/tbody/tr/td/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[2]/tbody/tr[1]/td[2]/table/tbody/tr[2]/td[2]/form/table[1]/tbody/tr/td/table/tbody/tr/td[2]/input')
elementID.send_keys(folio_number)

S = lambda X: driver.execute_script('return document.body.parentNode.scroll'+X)
#driver.set_window_size(S('Width'),S('Height')) # May need manual adjustment                                                                                                                
driver.find_element_by_tag_name('body').save_screenshot(os.getcwd()+"/PermitSide/"+folio_number+".png")
4

1 回答 1

1

保存截图()

save_screenshot()WebDriver implementation中的一个方法。

当您尝试使用来自远程 web元素的屏幕截图(文件名)时


这个用例

据推测,变量folio_number是一个整数,因此您将无法直接在字符串变量中附加整数变量。首先,您需要将整数变量转换为字符串变量,如下所示:

folio_number = 123
driver.find_element_by_tag_name('body').screenshot(os.getcwd()+"/PermitSide/"+str(folio_number)+".png")

更新

使用如下配置文件:

配置

以下代码截取了正确的屏幕截图:

driver.get("https://www.google.com/")
file = open('config.txt')
lines = file.readlines()
folio_number = lines[0]
driver.find_element_by_tag_name('body').screenshot(os.getcwd()+"/PermitSide/"+str(folio_number)+".png")

截屏:

12345

于 2022-01-03T11:40:25.570 回答