Selenium ChromeDriver used to work

I used to use this code:

from selenium import webdriver
desktop_browser_list = [webdriver.Chrome("./drivers/chromedriver")]

But then Chrome apparently got fancier and doesn’t work with the old chromedriver. So I downloaded the new version, but it threw various errors.
So, now I have to switch to

from selenium import webdriver
options = webdriver.ChromeOptions()
options.binary_location = "/Applications/Google Chrome"
desktop_browser_list = [webdriver.Chrome(executable_path="./drivers/chromedriver", chrome_options=options)]

PHP, Python, GoLang, and Node.js all served by Apache port 80

I dabble in node.js, php, python, and more. Often, these services will produce webservers, and I’d like to try them out in my browser. I also would like to be able to test redirects for things like oauth. In order to get a proper passback from somewhere like Facebook, I need to simulate a full website url without port. It also would be nice to do this without having to shut down one, adjust settings, and restart the other.

The concept:
/etc/hosts or Windows/system32/drivers/hosts will handle incoming request handling to a url

  • Apache handles all requests from port 80
  • Apache uses VirtualHosts to redirect traffic from port 80 to various ports
  • Node/Python/Go/Etc. Will handle requests from specific ports.

An example:

This tells your computer that every program that requests data from should be forwarded to your computer. This is true for all protocols, http, https, ftp, etc.


<VirtualHost *:80>
    ProxyPass / retry=0

We’ve told apache to create a VirtualHost on port 80. The servername matches the entry in /etc/hosts. The proxypass indicates to where we should forward this request, in this case, to local port 3000. retry=0 tells apache not to cache the results and to always try to serve the page (even if node was down last time)


https.createServer(options, function (req, res) {
  res.end("hello world\n");

This is a basic node server using port 3000. If we receive a request to we should see it handled by node.

Similar servers can be set up in Python, GoLang, etc. And as long as they don’t steal port 80 from Apache, they can handle requests as normal. I’ve found this very useful.

Preloading SWF in Firefox using SWFobject doesn’t support overflow = null

I was using the following code to pre-load my SWFs so I could instantiate them later. = '1px'; = '1px'; = 'hidden';'fixed'; = '0px'; = '0px';

And then, when I wanted to show my SWF, I would call

swfDiv.width = '100%';
swfDiv.height = '100%';
swfDiv.zIndex = 1000;
swfDiv.overflow = null;

This works great in Chrome, but in Firefox, things go really bad and REALLY strange things start happening. Turns out that Firefox doesn’t like null as an overflow attribute.
Setting this to “” instead works fine.

swfDiv.width = '100%';
swfDiv.height = '100%';
swfDiv.zIndex = 1000;
swfDiv.overflow = "";