【求助】底下这段代码这个 news_link 怎么老是定位不到。
fromseleniumimport webdriverimporttime
driver = webdriver.Firefox()
driver.get('http://www.baidu.com')
driver.maximize_window()
#driver.set_window_size(480,800) 设置浏览器大小
search_element = driver.find_element_by_id('kw')
search_element.send_keys('selenium')
search_button = driver.find_element_by_id('su')
search_button.click()
time.sleep(5)
main_link = driver.find_element_by_link_text('百度首页')
main_link.click()
time.sleep(10)
news_link = driver.find_element_by_xpath("//div[@id='u1']/a") #就是这个了~ 我怎么老是定位不到。感觉好像写的也没错。我换成绝对路径貌似也不行
news_link = driver.find_element_by_xpath("/html/body/div/div/div/div/a") #换成这个我也是定位不到。
news_link.click()
请问是什么原因呢? 定位的是什么把 页面元素图贴出来 梦想家 发表于 2017-4-24 16:46
定位的是什么把 页面元素图贴出来
新闻,定位不是有很多种方法吗,我的是谷歌浏览器,这种可以driver.find_element_by_xpath("//div[@id='u1']/a") .click()
用link_text Real_小T 发表于 2017-4-24 17:12
用link_text
我知道link_text 可以,但是我就是想要试一下xpath这个 driver.find_element_by_link_text('新闻').click()这个也可以 driver.find_element_by_partial_link_text("闻").click() 你的语句写的有问题,你自己检查一下 driver.find_element_by_xpath('//*[@id="u1"]/a').click() 你多了一个div
driver.find_element_by_xpath('html/body/div/div/div/div/a').click(),这个是根据你第二句的xpath定位,可以运行 div的数量要根据它实际数量来计算的,有几个算几个,同层 cq520131517 发表于 2017-4-24 17:22
你多了一个div
谢谢啦。明白了 :lol cq520131517 发表于 2017-4-24 17:30
div的数量要根据它实际数量来计算的,有几个算几个,同层
不对啊。大神,为什么我用firfox里面的firebug去看他的xpath 复制出来和我一样呢?
而且我昨天看了下书,这个div 中括号里面的应该是指他是第几个div吧? 好多种定位方式呢 这个不可以就换一个呗
页:
[1]