2017-06-05 64 views
0

我想使用selenium网络驱动程序打开谷歌搜索Youtube,然后点击Youtube链接。 (我知道我可以直接去那里,但这是一个概念证明)我玩过不同的解决方案,但我一直有问题找到Youtube链接让我点击。点击通过谷歌与Selenium网络驱动程序的链接

以下是我有:

driver = webdriver.Chrome() 
driver.get("https://google.com") 
elem = driver.find_element_by_name("q") 
elem.clear() 
elem.send_keys("youtube") 
elem.send_keys(Keys.RETURN) 
assert "No results found." not in driver.page_source 
link = driver.find_element_by_link_text('YouTube') 
link.click() 

我不能得到的HTML识别所以只是检查它在谷歌,看看YouTube的HTML。

同样在python答案,将不胜感激。

感谢您的帮助。

回答

1

这里是回答你的问题:

To open up Google search for Youtube and then click on the Youtube link,这里是你自己的工作代码与一些简单的调整:

from selenium import webdriver 
import time 
from selenium.webdriver.common.keys import Keys 

driver=webdriver.Chrome("C:\\Utility\\BrowserDrivers\\chromedriver.exe") 
driver.maximize_window() 
driver.implicitly_wait(20) 
driver.get("https://google.com") 
elem = driver.find_element_by_name("q") 
elem.clear() 
elem.send_keys("youtube") 
elem.send_keys(Keys.RETURN) 
time.sleep(3) 
assert "No results found." not in driver.page_source 
driver.find_element_by_xpath('.//*[@id="rso"]/div[1]/div/div/div/div/h3/a').click() 
+0

感谢那些工作!你能解释一下为什么时间加入睡眠和等待吗? – RostSunshine

+0

@RostSunshine我已经使用'time.sleep()'动态结果从HTML DOM正确呈现。谢谢 – DebanjanB