2016-01-02 24 views
0
from selenium import webdriver 
from selenium.webdriver.common.by import By 
from selenium.webdriver.support.ui import Select 
import os 
xpaths = { 'video' : "//video[@id='video']", 
    } 

from selenium import webdriver 
profile = webdriver.FirefoxProfile() 
profile.set_preference("general.useragent.override", "Mozilla/5.0 (X11;  Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2227.0 Safari/537.36") 
driver = webdriver.Firefox(profile) 
mydriver = webdriver.Firefox() 
baseurl = "XXXX" 
mydriver.get(baseurl) 

它不改变用户代理。我希望用户代理是Chrome。我不知道有什么问题......更改用户代理与硒的webdriver和Python

而且,我想要做的事情是:转到网站,如果它重定向到另一个网址>返回到主页并继续这样做直到它发现(编号:视频) 我还没有实现这一点,因为我不知道如何... 我试图自动化的网站有一个VID,它有时会出现。我想这样做是继续访问该网站,直到它找到id:video点击它并等待。

帮助表示赞赏:)

回答

2

您使用了错误的火狐浏览实例您的应用程序URL - mydriver。使用正确的firefox实例(具有所需的配置文件设置)应该完成这项工作(在您的案例中为driver)。

下面是正确的代码:

from selenium import webdriver 
from selenium.webdriver.common.by import By 
from selenium.webdriver.support.ui import Select 
import os 
xpaths = { 'video' : "//video[@id='video']", 
    } 

profile = webdriver.FirefoxProfile() 
profile.set_preference("general.useragent.override", "Mozilla/5.0 (X11;  Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2227.0 Safari/537.36") 
driver = webdriver.Firefox(profile) 

# the below line is not required 
#mydriver = webdriver.Firefox() 
baseurl = "XXXX" 

# navigate to url with 'driver' instead of 'mydriver' 
driver.get(baseurl) 

如果您改变baseurl为“http://whatsmyuseragent.com/”,你就可以马上看到,如果用户代理更改正确反映。

希望这会有所帮助!

+0

谢谢你的帮助人! –

+0

很高兴这有帮助! –