2016-10-05 19 views
1

私は、Webdriverの使い方を新しく学習しています。私はEventbriteウェブサイトでそれを再生しているうちに、イベントの作成ボタンを見つけられませんでした(私はクリックできます)。私は、XPath、link_text、クラスのようなボタンを見つけるために、さまざまなことを試していますが、うまくいきませんでした。ここで私が働いているコードされていますSelenium Chrome、Python。

driver = self.driver 
    driver.get("https://www.eventbrite.com/") 
    driver.find_element_by_xpath("(//a[contains(text(),'Log in')])[2]").click() 

    driver.find_element_by_id("login-email").clear() 
    driver.find_element_by_id("login-email").send_keys("email") 
    driver.find_element_by_id("login-password").clear() 
    driver.find_element_by_id("login-password").send_keys("password") 
    driver.find_element_by_id("remember_me").click() 
    driver.find_element_by_xpath("//input[@value='Log in']").click() 
    time.sleep(2) 
    driver.find_element_by_link_text("Create Event").click() 

は、誰もがこれで私を助けてくださいことはできますか?

答えて

1

あなたの質問を正しく理解していれば、あなたの例の最後の行("Create Event")はうまくいきませんか?私は、CSSセレクターを使用すると、そのボタンをクリックすることができると私は言うことができます。 (私はCSSセレクタがより使いやすくなっている傾向があります)

driver = self.driver 
driver.get("https://www.eventbrite.com/") 
driver.find_element_by_xpath("(//a[contains(text(),'Log in')])[2]").click() 

driver.find_element_by_id("login-email").clear() 
driver.find_element_by_id("login-email").send_keys("email") 
driver.find_element_by_id("login-password").clear() 
driver.find_element_by_id("login-password").send_keys("password") 
driver.find_element_by_id("remember_me").click() 
driver.find_element_by_xpath("//input[@value='Log in']").click() 
time.sleep(2) 
driver.find_element_by_css_selector("div.l-mar-top-3 a.js-organizer-cta-btn").click() 
+0

ご意見ありがとうございます。私の将来の仕事のために、私はより正確にリンクテキストに感謝のCSSセレクタを使用します。しかし、私はAttributeErrorを得ました。あなたのソリューションを試してみると、 'list'オブジェクトには 'click'属性がありません。 – ogul

+0

あなたはそうです、それは複数のバージョンではなく、単なる 'find_element_by_css_selector'だったはずです。今更新されました。 –

+0

それはうまくいった、ありがとう! – ogul