4

我正在为网站使用 508 可访问标准。有一个 Firefox 插件可以帮助检查每个页面上的网站WAVE 插件
我有一个爬虫,可以遍历网站的所有页面。
现在我想结合 WAVE 插件 + 我的爬虫来自动检查网站是否符合 508 可访问性。

我的问题是如何从命令行运行具有特定 URL 的 Firefox 插件?

谢谢你的帮助,

4

2 回答 2

8

您可以从命令行执行许多复杂的事情,例如运行内联 javascript(我在答案底部使用另一种方法发布了Color RGB 淋浴)。firefox 'data:text/html..

也许这可以帮助你:

$ firefox 'data:text/html;charset=ISO-8859-1,
<html>
<head>
<title>TEST Demo</title>
</head>
<body>
<h3 id="title">Test demo</h3>
<script language="javascript">
window.open("http://perso.f-hauri.ch/~felix/svg/dustin_w_Clock_autonom.svg","clock","toolbar=0,location=0,status=0,menubar=0,scrollbars=1,resizable=1,width=400,height=400,top=36,left=700");                                     
window.open("https://stackexchange.com/users/flair/1965184.png","netrate","toolbar=0,location=0,status=0,menubar=0,scrollbars=0,resizable=0,width=208,height=58,top=36,left=490");
var s=10;                                                                 
function cntdwn()                                          
{                                                                 
  document.getElementById("title").innerHTML="Test demo: "+s;s=s-1;
  if (0 > s)                                                      
  {                                                                      
    window.location="https://stackoverflow.com/a/13013464/1765658";
  }                                                                      
  else window.setTimeout(cntdwn,1000);
  };                                        
  window.onload=cntdwn;
 </script>
 </body>'

这可以写成:

$ firefox 'data:text/html;charset=ISO-8859-1,<html><body><h3 id="title"></h3>'"$(
    cat <<eof
        <script language="javascript">
        var s=10;
        function cntdwn() {
            document.getElementById("title").innerHTML="Test demo: "+s;s=s-1;
            if (0 > s) {
                window.location="https://stackoverflow.com/a/13013464/1765658";
            }
            else window.setTimeout(cntdwn,1000);
        };
        window.onload=cntdwn;
        window.open("http://perso.f-hauri.ch/~felix/svg/dustin_w_Clock_autonom.svg","clock","toolbar=0,location=0,status=0,menubar=0,scrollbars=1,resizable=1,width=400,height=400,top=36,left=700");                                     
        window.open("https://stackexchange.com/users/flair/1965184.png","netrate","toolbar=0,location=0,status=0,menubar=0,scrollbars=0,resizable=0,width=208,height=58,top=36,left=490");
        </script>  </body>
eof
)"

甚至:

$ firefox 'data:text/html;charset=ISO-8859-1;base64,PGh0bWw+PGhlYWQ+PHRpdGxlPlRF
U1QgRGVtbzwvdGl0bGU+PC9oZWFkPjxib2R5PjxoMyBpZD0idGl0bGUiPlRlc3QgZGVtbzwvaDM+PHNj
cmlwdCBsYW5ndWFnZT0iamF2YXNjcmlwdCI+d2luZG93Lm9wZW4oImh0dHA6Ly9wZXJzby5mLWhhdXJp
LmNoL35mZWxpeC9zdmcvZHVzdGluX3dfQ2xvY2tfYXV0b25vbS5zdmciLCJjbG9jayIsInRvb2xiYXI9
MCxsb2NhdGlvbj0wLHN0YXR1cz0wLG1lbnViYXI9MCxzY3JvbGxiYXJzPTEscmVzaXphYmxlPTEsd2lk
dGg9NDAwLGhlaWdodD00MDAsdG9wPTM2LGxlZnQ9NzAwIik7d2luZG93Lm9wZW4oImh0dHBzOi8vc3Rh
Y2tleGNoYW5nZS5jb20vdXNlcnMvZmxhaXIvMTk2NTE4NC5wbmciLCJuZXRyYXRlIiwidG9vbGJhcj0w
LGxvY2F0aW9uPTAsc3RhdHVzPTAsbWVudWJhcj0wLHNjcm9sbGJhcnM9MCxyZXNpemFibGU9MCx3aWR0
aD0yMDgsaGVpZ2h0PTU4LHRvcD0zNixsZWZ0PTQ5MCIpO3ZhciBzPTEwO2Z1bmN0aW9uIGNudGR3bigp
e2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0aXRsZSIpLmlubmVySFRNTD0iVGVzdCBkZW1vOiAiK3M7
cz1zLTE7aWYgKDAgPiBzKXt3aW5kb3cubG9jYXRpb249Imh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20v
YS8xMzAxMzQ2NC8xNzY1NjU4Ijt9ZWxzZSB3aW5kb3cuc2V0VGltZW91dChjbnRkd24sMTAwMCk7fTt3
aW5kb3cub25sb2FkPWNudGR3bjs8L3NjcmlwdD48L2JvZHk+'

(注意将 Base64 拆分为 4 个字符的倍数!)

这与每个浏览器都一样,chromium而且我相信在每个浏览器附近......

于 2012-10-22T14:23:40.480 回答
2

附加组件不能“运行”(例如,从命令行运行 Adblock 是什么意思?)。

如果您使用的附加组件不支持命令行参数。您可以编写一个扩展来检查命令行并调用您想要“运行”的任何其他附加组件的适当函数。

于 2009-10-13T07:37:43.203 回答