我怎样才能摆脱这种<tbody>
<?php
$totalQuantity = 0;
$totalBundle = 0;
$rowcount = 1;
foreach ($query as $key => $value){
$counter = 0;
?>
<?php
foreach ($value as $sub_key => $sub_value) {
if($counter == 0) {
if ($sub_value['dc']== "D"){
$totalQuantity + = $sub_value['Amount'];
}
?>
<tr>
<td><?php echo $sub_value['code'] ?></td>
<td><?php echo date('d/m/Y', strtotime($sub_value['date1']));?></td>
<td><?php echo $sub_value['part'] ?></td>
<td><?php if ($sub_value['dc']== "D"){ echo $sub_value['Amount'];} ?></td>
<td><?php if ($sub_value['dc']== "C"){ echo $sub_value['Amount'];} ?></td>
<?php $rowcount +=1?>
</tr>
<?php
$counter++;
}else {?>
<tr>
<td></td>
<td></td>
<td><?php echo $sub_value['part'];?></td>
<td><?php if ($sub_value['dc']== "D"){ echo $sub_value['Amount'];} ?></td>
<td><?php if ($sub_value['dc']== "C"){ echo $sub_value['Amount'];} ?></td>
</tr>
<?php
} // else
} // foreach
}
?>
<tr>
<td></td>
<td></td>
<td>Total</td>
<td><?php echo $totalQuantity; ?></td>
</tr>
</tbody>
通知,同时通过下载文件蟒蛇硒chromedriver?
我尝试了以下操作,但未成功:
keep/discard
编辑:似乎我发现另一个网站拥有这样的“ .eml”文件,当单击该链接以chromeOptions = webdriver.ChromeOptions()
prefs = {"profile.default_content_setting_values.notifications" : 2}
chromeOptions.add_experimental_option('prefs', prefs)
driver = webdriver.Chrome(chrome_options=chromeOptions)
结尾时,它会引发相同的通知。
我正在尝试以下方法:
.eml
通知完全类似于下图:
顺便说一句,我之所以开始点击该链接进行下载,只是因为我正在尝试的站点没有任何真实的url连接到该“ .eml”文件来进行导航。事实证明,导航到该“ .eml”链接也会导致相同的通知。
答案 0 :(得分:4)
您需要指定要下载的文件扩展名
prefs = {
'download.default_directory': dirf,
'download.prompt_for_download': False,
'download.extensions_to_open': 'eml',
'safebrowsing.enabled': False
}
options.add_experimental_option('prefs', prefs)
driver = webdriver.Chrome(chrome_options=options)
答案 1 :(得分:2)
这是弹出有关安全浏览。尝试
chromeOptions = webdriver.ChromeOptions()
prefs = {'safebrowsing.enabled': 'false'}
chromeOptions.add_experimental_option("prefs", prefs)
driver = webdriver.Chrome(chrome_options=chromeOptions)
答案 2 :(得分:0)
您可以尝试添加以下参数
chromeOptions = webdriver.ChromeOptions()
chromeOptions.add_argument('--safebrowsing-disable-download-protection')
driver = webdriver.Chrome(chrome_options=chromeOptions)
答案 3 :(得分:0)
根据此内容:How to disable 'This type of file can harm your computer' pop up,您将需要多个选项:
最近更新的Chrome浏览器后,已接受的答案停止工作。现在,您需要使用
--safebrowsing-disable-extension-blacklist
和--safebrowsing-disable-download-protection
命令行开关。
但是,只要Google的某人对与某个选项相关的安全性问题有新的想法,他们就会在下一版Chrome中修改行为。我正在使用Chrome 72,并且上述选项不再禁用通知。
简短版本:请勿尝试禁用安全措施。恶意软件作者受过相应的培训,任何优秀的浏览器开发人员似乎都认为“安全胜于遗憾”。
如果您确实只需要一个下载解决方案,则可以使用请求模块,而无需使用chrome进行下载:
from selenium import webdriver
import requests
url = "https://www.online-convert.com/file-format/eml"
dirf = r"C:\Users\WCS\Desktop\emlfolder"
def download_file(link):
driver.get(link)
linkElement = driver.find_element_by_css_selector("a[href$='example.eml']")
r = requests.get(linkElement.get_attribute('href'))
file = open("C:\Users\WCS\Desktop\emlfolder\example.eml", 'wb')
file.write(r.content)
file.close()
if __name__ == '__main__':
chromeOptions = webdriver.ChromeOptions()
prefs = {'download.default_directory' : dirf}
chromeOptions.add_experimental_option('prefs', prefs)
driver = webdriver.Chrome(chrome_options=chromeOptions)
download_file(url)
driver.quit()
答案 4 :(得分:0)
您可以尝试将网站添加到chrome的受信任站点列表中,如果我理解您的代码,它将使用chrome的安装,这意味着如果您要更改chrome中的设置,则python模块将使用它们
Chrome
点击地址栏最右边的3条水平线图标。
单击“设置”,滚动到底部,然后单击“显示高级” 设置链接。
点击更改代理设置。
单击“安全”选项卡>“受信任的站点”图标,然后单击“站点”。
输入您的“受信任的站点”的URL,然后单击“添加”。
点击关闭>确定。
答案 5 :(得分:0)
我确实尝试了Google许多站点/论坛,并找到了以下代码,但仍无法在Chrome 72中正常工作。如果您找到解决此问题的更好方法,请告诉我。
System.setProperty("webdriver.chrome.driver", "chromedriver.exe file path")
String downloadFilepath = "C:\\Downloads";
HashMap<String, Object> chromePrefs = new HashMap<String, Object>();
chromePrefs.put("profile.default_content_settings.popups", 0);
chromePrefs.put("download.default_directory", downloadFilepath);
chromePrefs.put("safebrowsing.enabled", "false");
chromePrefs.put("download.prompt_for_download", "false");
DesiredCapabilities capabilities = DesiredCapabilities.chrome();
ChromeOptions options = new ChromeOptions();
options.addArguments("--safebrowsing-disable-download-protection");
options.addArguments("--safebrowsing-disable-extension-blacklist");
options.addArguments("disable-extensions");
options.addArguments("test-type");
options.addArguments("start-maximized");
options.setExperimentalOption("prefs", chromePrefs);
capabilities.setCapability(ChromeOptions.CAPABILITY, options);
capabilities.setCapability(CapabilityType.ACCEPT_SSL_CERTS, true);
driver = new ChromeDriver(capabilities);
答案 6 :(得分:0)
我确实使用简单的TAB和ENTER键对窗口上的“保留/放弃”按钮进行操作。对于此问题,我没有找到更好的解决方案,它可以作为解决方法。
if (File_Extn.contentEquals("msg")) // put extns like msg, pdf etc..
{
for (int j=1; j<=TabCount; j++) // manually count total no. of tabs and replace with TabCount to reach keep button
{
sleep(1);
System.out.println("hit tab keys to reach keep/discard button");
robot.keyPress(KeyEvent.VK_TAB);
}
System.out.println("hit enter key to click on keep button");
robot.keyPress(KeyEvent.VK_ENTER);
}